laravel - Laravel 检查关系是否为空
问题描述
我有一个具有一些关系的对象,我需要检查这些关系是否为空,我正在尝试检查 is_null、isset、!= undefined 等,但没有任何效果,这是我在它为空时得到的关系:
object(Illuminate\Database\Eloquent\Collection)#197 (1) {
["items":protected]=>
array(0) {
}
}
有没有办法轻松检查?谢谢。
解决方案
有多种方法可以做到这一点。
在查询本身中,您可以过滤没有任何相关项目的模型:
Model::has('relation')->get()
一旦你有了一个模型,如果你已经加载了集合,你可以检查集合的计数:
$model->relation->count();
如果要在不加载关系的情况下进行检查,可以对关系运行查询:
$model->relation()->exists()
注意:relation
在上述示例中替换为您的关系名称。
推荐阅读
- php - 使用 PHP 脚本发送电子邮件 HTML 表单
- image - 进行图像匹配的最佳方法?
- sql - 如何检查模型数据是否存在于另一个表中
- json - Unmarshal 将内部对象值设置为 json 字符串
- node.js - Strapi 开发--watch admin Docker | 找不到管理员
- kubernetes - 检查重新配置的 kubernetes 部署的命令是否准备好?
- java - Java RabbitMQ 连接已关闭
- python - 如何在扩展中使用机器人类方法 (get_user())?(discord.py)
- css - 如何在导航栏中的菜单选项之间应用适当的空格?
- javascript - 单击列表中的每个元素,直到与特定 url 匹配