對于關(guān)系模型來說,有時候我們需要甄別關(guān)聯(lián)后結(jié)果,例如,班級和學(xué)生是一對多關(guān)聯(lián),我現(xiàn)在查詢班級,但是想只顯示正常狀態(tài),即狀態(tài)為1的學(xué)生,因為有的學(xué)生從這個班級里面刪除了,狀態(tài)是4,那么我們在查詢的時候就可以使用如下語法:
1、定義關(guān)聯(lián)關(guān)系:
Class模型:
public function learners() {
return $this->belongsToMany('App\Models\Customer', 'learner_relation', 'class_id', 'learner_id');
}
Customer模型:
public function learnerclasses() {
return $this->belongsToMany('App\Models\MyClass', 'learner_relation', 'learner_id', 'class_id');
}
2、查詢代碼:
$data = MyClass::with([
'learners' => function ($query) {
$query->select()
->where('learner_relation.status', 1)
->orderBy('learner_relation.create_time', 'desc');
},
])
->find($id);
然后得到的結(jié)果就是我們想要的正常的學(xué)生。
以上這篇Laravel關(guān)系模型指定條件查詢方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Laravel5.1 框架模型查詢作用域定義與用法實例分析
- Laravel5.1 框架模型工廠ModelFactory用法實例分析
- Laravel5.1 框架模型軟刪除操作實例分析
- Laravel5.1 框架模型創(chuàng)建與使用方法實例分析
- Laravel 5框架學(xué)習(xí)之模型、控制器、視圖基礎(chǔ)流程
- Laravel模型間關(guān)系設(shè)置分表的方法示例
- Laravel 實現(xiàn)關(guān)系模型取出需要的字段
- 詳解Laravel設(shè)置多態(tài)關(guān)系模型別名的方式
- Laravel模型事件的實現(xiàn)原理詳解
- Laravel框架模型的創(chuàng)建及模型對數(shù)據(jù)操作示例
- Laravel使用模型實現(xiàn)like模糊查詢的例子
- Laravel5.1 框架模型一對一關(guān)系實現(xiàn)與使用方法實例分析