Я в основном новичок в Laravel. Я продолжаю получать этот вызов «Вызовы на роль функции члена () в массиве» .
Я пытаюсь добавить роль пользователя в мою базу данных, которая имеет много-много отношений. Я искал ответ для этого везде, и результаты говорят, что мне просто нужно добавить оператор возврата в мою функцию. Но у меня уже есть оператор return, и он все еще не работает.
Итак, вот мои коды.
Модель User.php
<?php class User extends Model implements Authenticatable { use \Illuminate\Auth\Authenticatable; protected $primaryKey = 'user_id'; protected $fillable = [ 'user_fname', 'user_mname', 'user_lname', 'user_ptitle', 'user_sex', 'user_civilstatus', 'user_nationality', 'user_bday', 'user_bplace', 'user_address', 'user_mobile', 'user_landline' ]; protected $hidden = [ 'password', 'remember_token', ]; public function login(){ return $this->hasOne('App\Login', 'user_id'); } public function registercoop(){ return $this->hasOne('App\CoopDetails', 'coop_id'); } public function listcomaker(){ return $this->hasMany('App\LoanCoMaker', 'user_id'); } public function roles(){ return $this->hasMany('App\Role', 'role_users', 'user_id', 'role_id'); } }
Модель Role.php
<?php class Role extends Model { public function users(){ return $this->belongsToMany('App\User','role_users', 'role_id', 'user_id'); } }
Строки из моего AccountController.php, где происходит сохранение в базе данных
$user=[ 'user_email' => $email, 'password' => $password ]; $count = DB::table('users') ->where('created_at', '>=', 'CURRENT_DATE') ->count(); //Count entries for that day. $year = Carbon::now()->year; $month = Carbon::now()->month; if ($count<100 && $count>10){ $count="0".$count; $user_id = $year.$month.$count; } else if ($count<10){ $count="00".$count; $user_id = $year.$month.$count; } else{ $user_id = $year.$month.$count; } $user->roles()->attach($user_superadmin);
PS Я на самом деле заставил его работать в первый раз. Я только что переименовал свою старую модель UserType.php в Role.php , обновил свои миграции, сеялки, контроллеры, модели и т. Д., А затем прекратил работать исправно.
Может кто-нибудь помочь мне указать, что я делаю неправильно?