我有这个基本的应用程序,我正在Laravel工作。用户询问查询,其他用户可以对其进行评论。
我在评论模型中建立了这种关系 -
class Comment extends Model
{
public function query()
{
return $this->belongsTo(Query::class);
}
}
当我运行php artisan tinker
并创建一个新的实例 -
$comment = new App\Comment
我收到错误 -
Cannot make static method Illuminate\Database\Eloquent\Model::query() non static in class App\Comment
我想到的问题是功能'query'的名称。因为如果我将名称改为其他任何东西,它都有效。我没有收到任何错误。
我发现lluminate\Database\Eloquent\Model
中有一个名为'query'的函数,其中包含此代码 -
public static function query()
{
return (new static)->newQuery();
}
那么,我不允许使用'query'这个词来命名我模型中的函数吗?
答案 0 :(得分:1)
http://www.electricrcaircraftguy.com/2016/10/syntaxhighlighter.html。因此,只需重命名您的方法以避免不良行为。