2022年09月17日(土)
Laravelの配列(where in)でプリペアドステートメント使う方法
postsテーブルからidが1,2,3のレコードを取得するクエリです。
DB::select("select * from posts where id in (1,2,3)");
固定で入れているのでこれは問題ないです。変数を作りプリペアドステートメントで渡してみます。
$ids = '1,2,3'; DB::select("select * from posts where id in (?)", [$ids]);結果は最初の1しか検索されないようです。
where inの部分は?を繋げることで想定通りの結果になります。
$ids = [1,2,3]; DB::select("select * from posts where id in (?, ? ,?)", $ids);ただ配列の数は変動にしたいですね。ということでこんな感じです。
$ids = [1,2,5]; $placeholders = implode(',', array_fill(0, count($ids), '?')); DB::select("select * from posts where id in ($placeholders)", $ids);
author:
web0pixel
Webディベロッパーのk.ishiwataさまのブログ。jQuery系の記事が人気な他、最近はスマホ対応やアプリなども取り上げられています。
関連記事
Ads
Webディベロッパーのk.ishiwataさまのブログ。jQuery系の記事が人気な他、最近はスマホ対応やアプリなども取り上げられています。web0pixelの記事『Laravelの配列(where in)でプリペアドステートメント使う方法』についてまとめています。
気になるWebデザインの記事やまとめを見つけたら「本文を読む」をクリックすると、記事配信元のweb0pixelで全文を閲覧することができます。RSS Sourceの「このサイトの記事一覧」をクリックするとweb0pixelの記事をまとめて表示することができます。また閲覧数や各SNSのシェア状況を目安に、他の人たちが記事をどのように評価しているのか推測することができます。Webデザインにとって有益な記事をまとめていますので、ぜひリンク先をチェックしてみてください。