以前は、データをチェックするときに、where 条件を直接使用して値を比較していましたが、上記のコードの 3 番目のパラメーターが date('Y-m-d') の場合、次の 00 を追加しないと形式に厳密な要件が適用されます。 :00:00 この方法ではデータベースに見つからなくなります
そして、それらが等しいかどうかを判断するには、形式に関する厳しい要件もあります
ここで、laravel 独自のメソッドである whereDate を使用します。これは、日付が検索形式と一致するように日付形式を自動的に処理するのに役立ちます。
たとえば、上記のコードは、日数が特定の値である場合にのみ検索します。whereDay を使用すると、特定の日に一致する値をデータベースで検索します。
通常、このメソッドのアクティビティシーンはモデル内にあります
wherePivot とはどういう意味ですか? 、最初は会社テーブルとユーザーテーブルで、複数の関連付け関係を確立します。関連付けテーブルは user_company_applies です
まず、wherePivotを追加しない場合の表示方法
データベースはこんな感じです
、
コントローラー:
3つのデータを表示
つまり、中間テーブルから company_id 1 に対応する user_id データを見つけて、 user_id の値を user テーブルに持ってきて、どのようなデータがあるかをクエリします。つまり、これら 3 つの項目が元の多対多です。プロセス
wherePivot メソッドが追加されました。多対多のデータを取得した後、中間テーブルの apply_status フィールドと type フィールドを探して、どのデータが 1 であるかを検索するだけです。そして、
を表示しますデータベースは次のようになります
2 つの値はどちらも 1 です。user_id 2525 でデータをクエリできるかどうかを見てみましょう
テストを開始します
わかりました