對于關系模型來說,有時候我們需要甄別關聯后結果,例如,班級和學生是一對多關聯,我現在查詢班級,但是想只顯示正常狀態,即狀態為1的學生,因為有的學生從這個班級里面刪除了,狀態是4,那么我們在查詢的時候就可以使用如下語法:
1、定義關聯關系:
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);
然后得到的結果就是我們想要的正常的學生。
以上這篇Laravel關系模型指定條件查詢方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Laravel5.1 框架模型查詢作用域定義與用法實例分析
- Laravel5.1 框架模型工廠ModelFactory用法實例分析
- Laravel5.1 框架模型軟刪除操作實例分析
- Laravel5.1 框架模型創建與使用方法實例分析
- Laravel 5框架學習之模型、控制器、視圖基礎流程
- Laravel模型間關系設置分表的方法示例
- Laravel 實現關系模型取出需要的字段
- 詳解Laravel設置多態關系模型別名的方式
- Laravel模型事件的實現原理詳解
- Laravel框架模型的創建及模型對數據操作示例
- Laravel使用模型實現like模糊查詢的例子
- Laravel5.1 框架模型一對一關系實現與使用方法實例分析