Eloquent ORM 中的 leftJoin 方法?
leftJoin method in Eloquent ORM?
我是 Laravel 的初学者,我使用的是 5.5 版本。
Eloquent ORM 中有 leftJoin 方法吗?
我知道在 DB facade(查询构建器)上有一个,但是如果我只想使用 Eloquent 是否有 leftJoin 方法?
例如,假设我有一个模型 CarBrand 和另一个模型 CarModel。
CarBrand 与 CarModel 的关系类型为 hasMany,而 CarModel belongsTo CarBrand。
假设我想找到没有 CarModel 对应关系的 CarBrand 的 id。
我在这个网站上发现了几个这样的回复:
CarBrand::leftJoin('CarModelTableName',
'CarBrandTableName.id','=','CarModelTableName.carBrandId')->
whereNull('CarModelTableName.carBrandId')->first();
我已经检查过了,它确实起到了左连接的作用:)
但在这种情况下,::leftJoin 是一个 Eloquent 方法还是默默地转到 DB facade?
除了 DB facade,我在 Laravel 5 官方文档中找不到 leftJoin 的任何内容。
任何链接将不胜感激。
希望我说清楚了,
感谢您的关注。
我想我找到了答案....
我发现我可以使用类似的东西:
LaravelModellName::AnyQueryBuilderMethod
所以这就是使用 DB facade 方法的原因
我的主要问题中的问题可以 eloquent 方式使用 donestHave 模型方法 100% 解决:
$result = CarBrand::doesntHave('RelationshipNameWithCarModel')->get();
我是 Laravel 的初学者,我使用的是 5.5 版本。
Eloquent ORM 中有 leftJoin 方法吗?
我知道在 DB facade(查询构建器)上有一个,但是如果我只想使用 Eloquent 是否有 leftJoin 方法?
例如,假设我有一个模型 CarBrand 和另一个模型 CarModel。 CarBrand 与 CarModel 的关系类型为 hasMany,而 CarModel belongsTo CarBrand。
假设我想找到没有 CarModel 对应关系的 CarBrand 的 id。
我在这个网站上发现了几个这样的回复:
CarBrand::leftJoin('CarModelTableName',
'CarBrandTableName.id','=','CarModelTableName.carBrandId')->
whereNull('CarModelTableName.carBrandId')->first();
我已经检查过了,它确实起到了左连接的作用:)
但在这种情况下,::leftJoin 是一个 Eloquent 方法还是默默地转到 DB facade?
除了 DB facade,我在 Laravel 5 官方文档中找不到 leftJoin 的任何内容。 任何链接将不胜感激。
希望我说清楚了,
感谢您的关注。
我想我找到了答案....
我发现我可以使用类似的东西:
LaravelModellName::AnyQueryBuilderMethod
所以这就是使用 DB facade 方法的原因
我的主要问题中的问题可以 eloquent 方式使用 donestHave 模型方法 100% 解决:
$result = CarBrand::doesntHave('RelationshipNameWithCarModel')->get();