簡體   English   中英

Laravel 4.2雄辯的動態查詢

[英]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.

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