$query = LeadsModel::with(
array(
'emails' => function ($q) use ($inputs)
{
$q->orwhere('email','like',"%john%");
$q->orwhere('email','like',"%mark%");
}
)
)
->whereHas
(
'emails', function ($q) use ($inputs)
{
$q->orwhere('email','like',"%john%");
$q->orwhere('email','like','%mark%');
}
);
$res = $query->get();
display_output($res);
return;
上面的代碼只返回所有記錄,沒有條件適用於結果。我不知道什麼是錯的。我想要的是添加條件的查詢與父關聯的子表,但將返回其中施加條件父子數據Laravel渴望加載嵌套或條件
另一個問題:
- 我如何可以添加多個OR條件嵌套在急切的加載條件?
- 我該如何控制條件的優先順序?可以說我將有2個或3個條件相同的優先級,我將有一個嵌套的立即加載條件
更新
這仍然記錄所有的數據與另一條件和使用條件,不應用條件。
$query = LeadsModel::with(
array(
'emails' => function ($q) use ($inputs)
{
$q->orWhere('email','like',"%john%");
$q->orWhere('email','like',"%james%");
}
)
)
->whereHas
(
'emails', function ($q) use ($inputs)
{
$q->where('email','like',"%john%")->orWhere('email','like','%james%');
}
);
$res = $query->get();
display_output($res);
return;
正常SQL
我想這將是
選擇線索。 ,lead_detail_emails。 from lead,lead_detail_emails其中 leads.id = lead_detail_emails.lead_id和 (lead_detail_emails.email like'%john%'或lead_detail_emails.email like'%james%');
您應該添加一些例子/代碼,你想要什麼來實現 – 2014-10-29 11:03:50
我有更新了我的問題。謝謝 – Ponce 2014-10-29 11:06:44
請解釋你想從數據庫中得到什麼記錄 - 現在看來你想要得到像john或james這樣的電子郵件的leadmodel記錄,併爲他們獲取僅有名稱john或james的相關模型電子郵件。 – 2014-10-29 13:02:31