【问题标题】:get data after check exists one query laravel 8检查存在一个查询后获取数据laravel 8
【发布时间】:2022-01-03 18:44:12
【问题描述】:
我需要检查数据是否存在,然后获取数据
考试:
Loc::fisrt()->user()->exists()->get(); // This is just an example, it's not true
->得到我需要的存在后
我希望我的问题很清楚。
【问题讨论】:
标签:
php
laravel
eloquent
laravel-8
eloquent-relationship
【解决方案1】:
只需获取数据并在之后检查。
$user = Luc::first()->user;
如果user() 是belongsTo、hasOne 或morphOne 关系:
if ($user !== null) { /* user exists */ }
如果user() 是belongsToMany、hasMany、hasManyThrough、morphMany、morphToMany 或morphedByMany 关系:
if ($user->isNotEmpty()) { /* user exists */ }
【解决方案2】:
Eloquent 已经为您提供了完美的解决方案。 has 方法。
$results = Loc::has('user')->get();
以上结果将仅包含附加了user 关系的Loc 记录。