真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

thinkphp關(guān)聯(lián)查詢?nèi)绾问褂脳l件進(jìn)行篩選

這篇“thinkphp關(guān)聯(lián)查詢?nèi)绾问褂脳l件進(jìn)行篩選”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“thinkphp關(guān)聯(lián)查詢?nèi)绾问褂脳l件進(jìn)行篩選”文章吧。

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計(jì),淄川網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:淄川等地區(qū)。淄川做網(wǎng)站價(jià)格咨詢:18980820575

  1. 在模型中定義關(guān)聯(lián)關(guān)系

在進(jìn)行關(guān)聯(lián)查詢時(shí),首先需要在模型中定義關(guān)聯(lián)關(guān)系。這里以一對(duì)一關(guān)系為例進(jìn)行說(shuō)明。首先,定義一個(gè) User 模型,其中包含一個(gè) hasOne 的關(guān)聯(lián)關(guān)系:

class User extends Model
{
    protected $table = 'users';

    public function profile()
    {
        return $this->hasOne('Profile');
    }
}

在上述代碼中,我們定義了一個(gè)名為 profile 的 hasOne 關(guān)聯(lián)關(guān)系,它關(guān)聯(lián)了一個(gè)名為 Profile 的模型。在 Profile 模型中,需要定義 belongsTo 的關(guān)聯(lián)關(guān)系:

class Profile extends Model
{
    protected $table = 'profiles';

    public function user()
    {
        return $this->belongsTo('User');
    }
}

在上述代碼中,我們定義了一個(gè)名為 user 的 belongsTo 關(guān)聯(lián)關(guān)系,它關(guān)聯(lián)了一個(gè)名為 User 的模型。

  1. 進(jìn)行關(guān)聯(lián)查詢

在定義好關(guān)聯(lián)關(guān)系之后,我們就可以在控制器中進(jìn)行關(guān)聯(lián)查詢了。查詢語(yǔ)句如下所示:

$users = User::with(['profile' => function($query){
    $query->where('age', '>=', 18);
}])->select();

在上述代碼中,我們使用了 with 方法進(jìn)行了關(guān)聯(lián)查詢。其中,第一個(gè)參數(shù)傳遞了我們要查詢的關(guān)聯(lián)關(guān)系,第二個(gè)參數(shù)是一個(gè)回調(diào)函數(shù),用于對(duì)此次查詢做一些額外的條件限制。

在上述代碼中,我們使用了 where 方法,對(duì) profile 模型的 age 屬性進(jìn)行了篩選,只查詢 age 大于等于 18 的記錄。

  1. 鏈?zhǔn)讲僮鳁l件

除了可以在 with 方法中傳遞回調(diào)函數(shù)來(lái)限定查詢條件之外,在進(jìn)行關(guān)聯(lián)查詢時(shí)還可以進(jìn)行鏈?zhǔn)讲僮鳁l件。例如,以下代碼實(shí)現(xiàn)了對(duì) user 表中 age 大于等于 18 的用戶,以及它們的 profile 記錄中 address 不為空的記錄進(jìn)行了查詢:

$users = User::where('age', '>=', 18)
             ->with(['profile' => function($query){
                 $query->where('address', '<>', '');
             }])
             ->select();

在上述代碼中,我們首先通過 where 方法對(duì) User 模型進(jìn)行了查詢條件限制。然后,我們?cè)?with 方法中使用了回調(diào)函數(shù),對(duì) profile 模型進(jìn)行了查詢條件限制。

以上就是關(guān)于“thinkphp關(guān)聯(lián)查詢?nèi)绾问褂脳l件進(jìn)行篩選”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


本文題目:thinkphp關(guān)聯(lián)查詢?nèi)绾问褂脳l件進(jìn)行篩選
分享網(wǎng)址:http://weahome.cn/article/jcdphg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部