我有一個庫功能,通過使用獲取數據:Laravel 5 /鋒 - 處理數組參數中的動態凡方法輸入
public function get($request){
return User::where($request)->get();
}
其中$request
陣列是動態的。只要和我通過正規的鍵值對上述工作:以上
$request = array(
'name' => 'mike',
'age' => 45
);
轉換到這個SQL:
SELECT *
FROM users
WHERE name = 'mike' AND age = 45;
在每隔一段時間,我想在一個數組來傳遞作爲$request
的屬性之一:
$request = array(
'name' => 'mike',
'age' => array(45, 46)
)
,並把它翻譯成以下SQL:
SELECT *
FROM users
WHERE name = 'mike' AND age IN(45, 46);
在$request
中設置爲數組的任何屬性應視爲where in
語句,而不是香草where
語句。
我該怎麼做?
'newQuery()'不是一個靜態方法。無論如何做到這一點,而不實例化我的模型的新實例? –
只需使用query()而不是newQuery()。 –
對不起,我剛剛更新了答案。 – user3158900