Laravel Eloquentのwhereメソッドはデータベースの最初のレコードの配列のみを返します
P粉966979765
P粉966979765 2024-01-03 10:53:43
0
2
499

次のコードがあります:

リーリー

$subOffers を返すと、次のような配列が得られます。

リーリー

しかし、1 を 2、3、4 などに変更すると、次のようなオブジェクトが得られます。

リーリー

この場合、4 に変更し、n-1 個のキーを取得しました。

これはどうですか?配列ではなくオブジェクトを受け取るのはなぜですか?これは、Offers_id が 1 より大きい場合に発生します。 Offers_id は外部キーです。

P粉966979765
P粉966979765

全員に返信(2)
P粉136356287

わかりました、解決策を見つけました

リーリー

whereget

を交換する必要があります。

しかし、まだわかりません。何が起こっているのでしょうか?なぜこれが起こっているのか知りたいです。

いいねを押す +0
P粉404539732

eloquent の get() メソッドは Laravel コレクションを返します。つまり、 where() など、その後に置くものは結果のコレクションに影響します。 https://laravel.com/docs/9 を参照してください。 x/collections、コレクションは配列のようなオブジェクトですが、データベース クエリに似た多くの機能を備えていますが、すべてローカル メモリ内にあります。

get() の前に where() メソッドがある場合、データベース クエリを構築していることになり、クエリは get() まで実行されません。クエリの構築メソッドと収集メソッドは同様に機能しますが、実行する操作は異なるため、異なる結果が得られます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!