首页  >  文章  >  后端开发  >  如何在 Laravel 中检查相关模型是否存在?

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

Barbara Streisand
Barbara Streisand原创
2024-11-05 17:42:02563浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn