我試圖在兩個表(角色和能力)之間建立關系,但是當我運行該函數時,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: "[email protected]", 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); }
- 1 回答
- 0 關注
- 119 瀏覽
添加回答
舉報
0/150
提交
取消