1
我有一些查詢,我需要傳遞給另一個查詢使用查詢生成器Laravel如何獲取綁定的查詢?
$query = DB::table('table')->whereIn('some_field', [1,2,30])->toSql();
Model::join(DB::raw("({$query}) as table"), function($join) {
$join->on('model.id', '=', 'table.id');
})
應
Select * from model join (select * from table where some_field in (1,2,30)) as table on model.id = table.id
但綁定沒有通過,這迫使我結果做這
$query = DB::table('table')->whereRaw('some_field in ('. join(',', [1,2,30]) .')')->toSql();
什麼是有時不安全的。我怎樣才能得到綁定的查詢?
是'some_field'一個整數?如果是這樣,你可以使用'join(',',array_map('intval',[1,2,30]))'來確保數組只包含整數。 – Marwelln 2014-12-05 11:10:06
驗證不是這種情況。更多關於代碼清晰度。 – 2014-12-05 11:18:38