User Model:
<?php
namespace AppModels;
class User
{
public function orders()
{
return $this->hasMany(Order::class);
}
}
Order Model:
<?php
namespace AppModels;
class Model
{
public function user()
{
return $this->belongsTo(User0::class);
}
}
比如有以上一对多关系,User 和 Order 是一对多的关联关系,我们在日常开发中很多时候要获取用户是否创建过订单,有多种方法可以做到这一点,我们可以根据实际情况来选择最合适的。
#1在查询本身中,您可以过滤没有任何关联数据的模型:
User::has('orders')->get()
#2一旦你有了一个模型,如果你已经加载了集合(参见#4),你可以调用count()
方法:
$user->orders->count();
#3如果您想在不加载关系的情况下进行检查,可以对关系运行查询:
$user->orders()->exists()
#4如果你想检查集合是否被预先加载:
if ($user->relationLoaded('orders')) {
// Use the collection, like #2 does...
}
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Laravel 一对多关联关系中查询是否存在关联数据的方法。
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Laravel 一对多关联关系中查询是否存在关联数据的方法。