1
以下のクエリを使用してデータを取得しています。パラメータをwhere
句に渡すと、パラメータは疑問符?
に変換されます。クエリのWhere節でパラメータをlaravel 5に渡す際にエラーが発生しました
$productDatas = DB::table('products')
->select('products.*','products.id as pid','product_features.*','product_features.id as pfid')
->join('product_features','product_features.product_id','=','products.id')
->join('categories','categories.id','=','products.cat_id','left');
if($value == 13) {
// $value = intval($value);
$productData = $productDatas->where('product_features.'.$field,'<',$value)->toSql();
dd($productData);
} else {
$productData = $productDatas->where('product_features.'.$field,'=',$value)->get();
}
出力:
"select `products`.*, `products`.`id` as `pid`, `product_features`.*, `product_features`.`id` as `pfid`
from `products`
inner join `product_features` on `product_features`.`product_id` = `products`.`id`
left join `categories` on `categories`.`id` = `products`.`cat_id`
where `product_features`.`primary_camera` < ?"
問題は何ですか? –
問題はデータベースから実際のデータを取得していません –
'dd($ productData) 'は何をしていますか?あなたの 'else'ブロックでは' - > get() '関数を呼び出していますが、' if'ブロックではそうしていません。 – akousmata