[解決済み] Laravel Eloquent フィールドが X または null の場合
2023-02-09 12:33:18
質問
このようなテーブルがあります。
table
- field1: tinyint
- field2: varchar (nullable)
- datefield: timestamp (nullable)
今、私はfield1が1、field2がnullで、datefieldがXより小さいかnullであるすべてのエントリを取得したいです。私はすでにこのようなものを試してみました。
$query = Model::where('field1', 1)
->whereNull('field2')
->where('datefield', '<', $date)
->orWhereNull('datefield');
が、これはうまくいきません。私はいつもdatefieldがNULLであるすべてのエントリを取得します。他のフィールドが何であるかは問題ではありません。2つのクエリでそれを分割することも試みました。まず、datefield が X より小さいか null であるすべての行を取得し、次に (それに基づいて) field1 が 1 であり field2 が null であるすべてのフィールドを取得します。
結果は同じでした。 これを行う方法について何か考えがありますか?
どのように解決するのですか?
を利用する必要があるようです。 高度な where 節 .
での検索を考えると
field1
と
field2
は一定なのでそのままにしておきますが、検索を調整するために
datefield
を少し調整します。
これを試してみてください。
$query = Model::where('field1', 1)
->whereNull('field2')
->where(function ($query) {
$query->where('datefield', '<', $date)
->orWhereNull('datefield');
}
);
クエリをデバッグして、なぜ動作しないのかを確認する必要がある場合、実際にどのようなSQLを実行しているのかを確認するのに役立つことがあります。そのためには
->toSql()
をeloquentクエリの末尾に連結してSQLを生成することができます。
関連
-
[解決済み】Notice: 非オブジェクトのプロパティを取得しようとしているエラー
-
[解決済み】XAMPPエラー: www.example.com:443:0 サーバー証明書に、サーバー名と一致するIDが含まれていません。
-
[解決済み] Laravel Eloquentを使用して複数のWhere句クエリを作成する方法?
-
[解決済み] Laravel Eloquentを使って最後に挿入されたIDを取得する
-
[解決済み] Laravel Eloquent クエリ WHERE を OR AND OR で使用する?
-
[解決済み】Laravel - EloquentまたはFluentランダム行
-
[解決済み】Laravel EloquentのWith()関数で特定のカラムを取得する。
-
[解決済み】Laravel Eloquent。all()の結果の順序付け
-
[解決済み】Eloquentで「if not null」を確認する方法は?
-
[解決済み] Laravel Eloquent "WHERE NOT IN" (ララベル・エロクエント "WHERE NOT IN")について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PHP - 構文エラー、予期しないT_CONSTANT_ECAPSED_STRING [閉店].
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み】Xampp ローカルホスト/ダッシュボード
-
[解決済み】PDOException SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリがありません。
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
[解決済み] PHP - ストリームを開くのに失敗しました : そのようなファイルまたはディレクトリがありません。
-
MacでPHPを実行した際に、メモリサイズが134217728バイトも消費される問題の解決方法について
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
-
[解決済み] PHP product.php?id=1 のような URL を作成する方法