簡體   English   中英

如何從 PHP/Laravel 將 SQL 列名插入原始查詢

[英]How to insert SQL column name to Raw Query from PHP/Laravel

我在 Laravel 中有這個代碼:

DB::table('items')
    ->whereRaw("? = 1", ['active'])
    ->get();

在我的數據庫表中,我有一個名為active的列,我要運行的查詢是:

SELECT *
FROM items
WHERE active=1

我的代碼失敗,因為查詢將我'active'參數作為字符串傳遞,而不是 SQL 語法中的列名(這是預期的行為)。 因此,我得到的不是上面的,而是這樣的:

SELECT *
FROM items
WHERE "active"=1

知道如何解決這個問題嗎?

PS:我嘗試了 MySQL function TRIM 但沒有成功(也許我沒有正確執行)。

這不是最干凈的方法;

$day = 'Monday'; // dynamically Tuesday, Wednesday....
$method = 'where' . $day;

return DB::table('items')->$method('1')->get();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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