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