laravel - 在播种机 Laravel 中调用未定义的方法
问题描述
我尝试为用户创建角色和权限,当我尝试为角色分配权限时,我在播种机上收到错误消息。
//from seeder
use App\Ability;
use App\Role;
use App\User;
public function run(){
$owner = Ability::where('name', '=', 'owner');
$administrator = Role::where('name', '=', 'administrator');
$administrator->allowTo($owner);
}
//from my Role Model
public function abilities()
{
return $this->belongsToMany(Ability::class)->withTimestamps();
}
public function allowTo($ability)
{
$this->abilities()->save($ability);
}
调用未定义的方法 Illuminate\Database\Eloquent\Builder::allowTo()
解决方案
你没有得到你只是检查条件的数据。
试试这个,让我知道这是否对你有帮助
//from seeder
use App\Ability;
use App\Role;
use App\User;
public function run(){
$owner = Ability::where('name', '=', 'owner')->first();
$administrator = Role::where('name', '=', 'administrator')->first();
$administrator->allowTo($owner);
}
//from my Role Model
public function abilities()
{
return $this->belongsToMany(Ability::class)->withTimestamps();
}
public function allowTo($ability)
{
$this->abilities()->save($ability);
}
推荐阅读
- python - Python - 将字典列表重新组合成两个嵌套的字典列表?
- ruby-on-rails - Logster 显示空日志消息
- java - java.lang.NoClassDefFoundError:无法初始化类 org.slf4j.LoggerFactory
- android - 如何在Android中将数据从片段发送到Activity
- spring - 返回 ModelAndView 不适用于用户定义的函数
- c# - C# 中的 AWS Signature v4 键值存储 KVS
- node.js - 从 v4.0.0 开始需要明确提供 Sequelize Dialect(入门方式不是 CLI)
- python - connection.cursor() 作为光标会创建新连接吗?
- c# - 如何根据其值更改WPF数据网格中单元格的背景颜色
- css - 将 css-loader style-loader 与 webpack 一起使用时,我的 css 文件被剪切(截断)