ホームページ  >  記事  >  バックエンド開発  >  laravel5.2テイクに関する質問

laravel5.2テイクに関する質問

WBOY
WBOYオリジナル
2016-08-04 09:20:061543ブラウズ

リーリー

上記のコードでは、各部屋の下の項目が空になっていますが、$query->take(12);をコメントアウトすると、再び項目が表示されます。

返信内容:

リーリー

上記のコードでは、各部屋の下の項目が空になっていますが、$query->take(12);をコメントアウトすると、再び項目が表示されます。

そうですね...理由は実際には非常に簡単です。dd() 來看下其生成的 SQL:

を追加できます。 リーリー

次のものが生成されます SQL ( ? 數量代表你的 Room いくつかあります):

リーリー

制限がデータ量を超えているため、takelimit 之類的限制,並不是對 每一筆 作限制,而是全部取得的關聯數據作限制,所以當你設置很小的數量時,會造成一部分的 Room 沒有 Item ,你可以把這個數字設的很大,例如 100000 ,你就會發現 items 参加後、実際にデータがあることがわかります。

各トランザクションに関連するデータを制限する方法については、いくつかの情報を見つけましたが、現時点で最も信頼できる方法はありません。

雄弁な関係の調整 – 親ごとに N 個の関連モデルを取得する方法?

意味がわかりません $room=AppModelRoom::with('items')->take(12);

明らかに、一致するものはありませんでした。

すべては、関連付けられたモデル abstract public function addEagerConstraints(array $models) メソッドを通じて実装されます。

その理由は、with の関連データ テーブルのクエリによって提供されたデータが、取得したモデル データと一致しないため、クエリの結果が得られないことがわかります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。