如何在 Laravel 中检查相关模型是否存在?

Barbara Streisand
发布: 2024-11-05 17:42:02
原创
615 人浏览过

How to Check for the Existence of a Related Model in Laravel?

Laravel:检查相关模型是否存在

构建具有关系的 Laravel 模型时,确定相关模型是否存在至关重要用于处理更新和创建。在相关模型最初可能不存在的情况下,有必要检查其是否存在。

PHP 7.2 及以上版本的解决方案:

对于 PHP 7.2 及以上版本,简单的解决方案是在关系对象上使用 contains() 方法:

<code class="php">$model->relation()->exists();</code>
登录后复制

Pre-PHP 7.2 的通用解决方案:

对于 PHP 7.2 之前的版本,存在适用于所有关系类型的通用解决方案:

<code class="php">if (count($model->relation))
{
  // exists
}</code>
登录后复制

理解评估:

  • 单一关系:如果相关模型存在,count() 返回 1(true)。如果不存在,count()返回0(false)。
  • 多对多关系:当不存在相关模型时,count()返回0(false),表示一个不存在的集合。如果存在相关模型,则无论模型数量有多少,count() 都会返回正整数 (true)。

示例用法:

在您的场景中,您可以使用以下代码来检查选项模型是否存在:

<code class="php">if (Input::has('option')) {
    if ($model->option()->exists()) {
        // update option
    } else {
       // create option
    }
};</code>
登录后复制

以上是如何在 Laravel 中检查相关模型是否存在?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板