[英]How to add SQL query by variable in DB::Select() in Laravel
我有一個DB::select()
查詢,我想通過變量添加動態 SQL 。
這是我想要做的,但它返回 SQL 語法錯誤。
$restaurantSql = "";
$restaurantIds = [6,43,51];
if ($someOtherVariable) {
$restaurantSql = "AND orders.restaurant_ids IN (".implode(",", $restaurantIds).")";
}
$result = DB::select(
"SELECT *
FROM orders
JOIN restaurants ON orders.restauant_id = restaurants.id
WHERE orders.status = 'complete' :restaurant_sql AND
orders.created_at >= :start_date",
["restaurant_sql" => $restaurantSql, "start_date" => $startDate]
);
start_date
根據 Laravel 中的文檔工作,但restaurant_sql
不起作用。 知道如何實現這一目標嗎?
我認為你的問題在這里
$result = DB::select(
"SELECT *
FROM orders
JOIN restaurants ON orders.restauant_id = restaurants.id
WHERE orders.status = 'complete'". $restaurantSql. "AND
orders.created_at >= :start_date",
["restaurant_sql" => $restaurantSql, "start_date" => $startDate]
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.