[英]Laravel 4.2 Eloquent Dynamic Query
我試圖通過基於8個以上可選輸入的項目模型來檢索項目的集合。
我將命名為可選輸入,例如“ Item Name”,“ Item Code”,“ Item Colour”,並且希望僅將完整的輸入用作查詢中的where子句。
我找到了我認為可以解釋如何實現此目標的Laracast ,但是我似乎無法使其工作。
我曾想像過這樣的代碼:
$query = Item::select();
if(Input::has('name')) {
$query->where('ItemName', Input::get('name'));
}
if(Input::has('code')) {
....
}
$query->get();
我用以下代碼測試了我的假設。
如果我使用以下代碼:
$query = Item::select()->where('ItemCode', '0605')->get();
我得到了按預期返回的5個項目的集合,但是如果我使用以下代碼:
$query = Item::select();
$query->where('ItemCode', '0605')->get();
我得到了一個Illuminate \\ Database \\ Eloquent \\ Builder對象,而不是我期望的項目集合。
誰能看到我在做錯什么,或建議我實現此目標的正確方法是什么?
瘋狂的想法,但只是為了確定。 也許你想要這個?
$query = Item::select();
if(Input::has('name')) {
$query->where('ItemName', Input::get('name'))
}
if(Input::has('code')) {
....
}
$query = $query->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.