با سلام من هنگام که از طریق یک کنترلر مقدار role به متد hasrole مربوط به مدل user ارسال می کنم
با ارور زیر مواجح میشم
Call to undefined method Illuminate\Database\Eloquent\Relations\BelongsToMany::contains()
User.php
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
public function article()
{
return $this->hasMany(Article::class);
}
public function roles()
{
return $this->belongsToMany(role::class);
}
public function hasRole($role)
{
if (is_string($role)) {
return $this->roles()->contains('name', $role);
}
}
}
اینم کد مربوط به کنتر لر
return Auth()->user()->hasrole('maneger');
@hesammousavi
لطفا راهنمایی کنید
این کدم تست کرده بودم ولی متاسفانه
The Response content must be a string or object implementing __toString(), "boolean" given.
با چنین اروری مواجح شدم
شاید پاسخ شما همینجا باشد
جناب موسوی تا اینجا بدون مشکل بر میگرده
return $this->roles->first();جالب شد true برگردوند
تست کردم اصلا نمی تونه true برگردونه
خیلی ممنون از راهنماییتون
@hesammousavi
شما خیلی حوصله داری :D
موفق باشی
@khanzadimahdi
همه که از اول حرفهای نبودن و نیستن، خود شما چقدر به مشکلاتی خوردی که برای بقیه بدیهی بوده ؟
بنابراین بجای اینکه به بقیه بگین این چیه پرسیدی، یه حرفهای از این دست یبار قضیه رو از دید اونا ببینین خیلیها واقعا با چیزهای که شما ساده میبینین مشکل دارن .