Laravelはクエリを結合する方法について雄弁です
PHP中文网
PHP中文网 2017-05-16 16:51:58
0
6
1338

仮定

ワンピースthread(帖子) 预加载 comments(评论)和 comments.user(コメントしたユーザー)

通常は 1 行のコードで取得できます

リーリー

これには問題はなく、非常にうまくクエリと表示ができます。

リーリー

でも、現状の要望としては、コメントを付けたユーザーデータを削除すると、当然関連するコメントデータが表示されなくなり、情報が不完全になってしまうということです(これは普通の要望ですよね?)

となると論理的にはinner join 查询就可以过滤掉不符合的数据.
LaravelEloquent 目前我只查到withメソッド

しかありません

このニーズは YiiActiveRecord を通じて簡単に解決できます リーリー

あまり詳しくないので、この分野の専門家に解決方法を聞きたいです。よろしくお願いします。

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(6)
習慣沉默

laravelのクエリビルダーの結合はデフォルトで内部結合動作になります、マニュアルにはそう記載されています

いいねを押す +0
给我你的怀抱

リーリー

いいねを押す +0
巴扎黑

Eloquent ORM には直接結合クエリ条件がありませんが、前述のように回避策があります。
ただし、パフォーマンス上の理由から、私は通常 ORM を使用しません。クエリビルダーを使用しています。

いいねを押す +0
洪涛

リーリー

いいねを押す +0
巴扎黑

リレーションシップに join を書くだけです。 ->hasMany()->join()->where() 好きなように書くことができます。

いいねを押す +0
世界只因有你

実は私が質問しているのは、主に使用方法に関する質問です。

ここです

rails里都是有实现的
laravel 目前我看到的只有一个with

データメソッドrails里有 preloadincludesEager loadJoins, 可以来区别eager loading解説記事はこちら
http://www.mamicode.com/info-...

そして

YiiActiveRecord也有with, joinWith(inner join, left join ....) innerJoinWith, 来根据需求做eager loading

他のものはチェックしません

何がそんなに強いのかlaravel, 我是到现在也没有觉得laravelEloquentを傷つけたいわけではありません。

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