为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 致命错误:调用未定义的函数 Laravel Tinker

PHP 致命错误:调用未定义的函数 Laravel Tinker

PHP
MM们 2023-10-01 17:24:26
我试图在两个表(角色和能力)之间建立关系,但是当我运行该函数时,allowTo()它说 is undefined。我尝试清除缓存和配置,但没有执行任何操作。如果有人能提供帮助那就太好了,谢谢!型号:<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class Role extends Model{    protected $guarded = [];    public function abilities(){        return $this->belongsToMany(Ability::class)->withTimestamps();    }   public function allowTo($ability){        $this->abilities()->save($ability);   }shell 上的 Tinker 环境:>>> $user = App\User::find(7);=> App\User {#3044     id: 7,     name: "Rebeca Tejedor",     email: "rebtej@gmal.com",     email_verified_at: null,     created_at: "2020-08-13 10:29:46",     updated_at: "2020-08-13 10:29:46",   }>>> $role = Role::firstOrCreate(['name'=> 'lender']);[!] Aliasing 'Role' to 'App\Role' for this Tinker session.=> App\Role {#3041     id: 1,     name: "lender",     created_at: "2020-08-13 10:41:15",     updated_at: "2020-08-13 10:41:15",   }>>> $ability = Ability::firstOrCreate(['name'=> 'edit_items']);[!] Aliasing 'Ability' to 'App\Ability' for this Tinker session.=> App\Ability {#3040     id: 1,     name: "edit_items",     created_at: "2020-08-13 10:43:34",     updated_at: "2020-08-13 10:43:34",   }>>> $role = allowTo($ability)错误:PHP Fatal error:  Call to undefined function allowTo() in Psy Shell code on line 1该模型修补匠环境
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

您以这种方式使用您的关系:

$role = allowTo($ability);

虽然你应该像这样使用它:

$role->allowTo($ability);

并在你的方法中:

public function allowTo($ability) { 
   $this->abilities()->attach($ability->id);
}


查看完整回答
反对 回复 2023-10-01
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信