2014-05-25 56 views
1

我試圖打破這樣如何分割雄辯模型查詢

$query = new Product; 

if (!empty($req->query['id'])) { 
    $query->where('id', '=', '1'); 
} 

$products = $query->get(); 

雄辯上面的查詢結果給了我所有的產品在數據庫中。但是,這實際上確實有效。

$products = Product::where('id', '=', '1')->get(); 

有沒有辦法做到這一點?

回答

1

在Laravel 4您需要將您的查詢參數追加到您的查詢變量。在Laravel 3中,它會像你一樣工作。

這是你需要做的(我不確定它是否會與new Product壽工作)什麼:

$query = new Product; 

if (!empty($req->query['id'])) { 
    $query = $query->where('id', '=', '1'); 
} 

$products = $query->get(); 
0

你的代碼沒有意義。如果您製作了new Product - 那麼它將永遠不會有與其關聯的ID - 因此您的if (!empty($req->query['id']))將始終爲假。

你只是想獲得一個特定的產品想法?

$products = Product::find(1); 

相同

$products = Product::where('id', '=', '1')->get();