簡體   English   中英

Laravel5 Eloquent從具有where子句的多個表中進行選擇

[英]Laravel5 Eloquent select from multiple table with where clause

如何在Laravel Eloquent中進行此查詢?

SELECT * FROM `ftm_users`, `ftm_students`, `ftm_user_verification` WHERE `ftm_users`.`user_group` = 3 AND `ftm_user_verification`.`verification_status` = 1 AND `ftm_users`.`uid` = `ftm_students`.`uid` AND `ftm_users`.`uid` = `ftm_user_verification`.`uid`

我已經在模型中設置了關系,我已嘗試過這個

$userStudent = User::where('user_group', '=', 3)->with(array('userVerification' => function($query) {
        $query->where('verification_status', '=', 1);
    }, 'student', 'studentParents'))->simplePaginate(20);

但查詢使用分離的select語句從不同的表中獲取數據。

謝謝。

假設您定義了ftm_usersftm_user_verification之間的關系,您可以使用whereHas方法過濾相關模型

$userStudent = User::where('user_group', '=', 3)->whereHas('userVerification', function ($query) {
    $query->where('verification_status', '=', 1);
})->get();

檢查文檔中的查詢關系存在

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM