我有一個在Laravel框架上運行的跟蹤系統。跟蹤系統允許用戶使用JSON格式的結構從網站輸入他們的跟蹤查詢,然後將結果傳遞給服務器進行處理。然後,服務器將根據輸入中給出的JSON結構查詢來自數據庫的所有相關數據。當前代碼結構是有點多餘象下面這樣:使用查詢生成器構建動態laravel數據庫查詢
if($a == true)
{
$data = DB::table('table')
->select('item1')
->where('item2', '=', $a)
->get();
if($limit !== null)
{
$data = DB::table('table')
->select('item1')
->where('item2', '=', $a)
->take($limit)
->get();
}
}
/*the code goes on and on*/
注意,在上面的示例代碼,是否有任何辦法可以做,以減少代碼的冗餘部分?就像我在腦海裏說的那樣:
public function process()
{
$data = DB::table('table')
->select('item1')
$a == true ? "->where('item2', '=', $a)" : '';
$limit !== null ? "->take($limit)" : '';
->get();
}
所以,你可以看到縮短的代碼和長版本完全一樣。我知道我的想法在真實場景中是不可用的,但是有沒有類似的方法可以解決我腦海中的問題?
在此先感謝