【问题标题】:Laravel - SELF:: usage in modelsLaravel - SELF:: 在模型中的使用
【发布时间】:2020-05-26 12:41:53
【问题描述】:

所以我得到了这个模型,它只定义了 $fillable,没有 $table

模型有这个功能:

public static function gamesToday()
{
    return self::where('status', self::STATUS_FINISHED)->where('created_at', '>=', Carbon::today())->count();
}

模型工作正常,返回正确的值,但是它怎么知道从哪个表返回值呢?

有没有办法在其他地方定义 $table

还是我误解了self:: 的工作原理?

编辑:

在视图中它是这样使用的:

<div class="totalGamesPlayed">{{ \App\Game::gamesToday() }}</div>

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    这取决于你的班级名称。示例:model User, class User inside User.php 如果模型内部没有table属性,则表设置为复数中小写的类名-表users https://laravel.com/docs/7.x/eloquent#eloquent-model-conventions

    【讨论】:

      【解决方案2】:

      它将从您放置此方法的当前模型返回匹配记录。您可以使用受保护的 $table 属性为模型指定表名。

      protected $table = 'your_table_name_here';
      

      【讨论】:

      猜你喜欢
      • 2012-06-04
      • 2014-10-04
      • 2013-09-25
      • 1970-01-01
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 2014-03-25
      相关资源
      最近更新 更多