【发布时间】:2022-09-28 20:59:59
【问题描述】:
我正在尝试将用户角色及其权限插入到数据透视表中,但是当我尝试提交表单时,它会显示此错误
// This is my Model File
class Roles extends Model
{
use HasFactory;
protected $table = \'mq_info_roles\';
protected $fillable = [\'name_arabic\',\'name_english\',\'status\'];
public function permissions(){
return $this->belongsToMany(Permission::class,\'mq_info_permission_roles\');
}
}
// This is my controller file
public function store(Request $request){
$this->validate($request,[
\'name_arabic\'=>\'required|string\',
\'name_english\'=>\'required|string\',
]);
$roles = new Roles();
$roles->name_arabic = $request->input(\'name_arabic\');
$roles->name_english = $request->input(\'name_english\');
$roles->status = $request->input(\'status\') == TRUE?\'1\':\'0\';
// $roles->save();
// dd($roles->name_english);
$listOfPermissions = explode(\',\', $request->roles_permissions);
foreach($listOfPermissions as $permission){
$permissions = new Permission();
$permissions->name_english = $permission;
$permissions->save();
$roles->permissions()->attach($permissions->id);
$roles->save();
}
return redirect()->route(\'Roles.index\')->with(\'status\',\'Role Added Successfully\');
}
// This is pivot table migration
Schema::create(\'mq_info_permission_roles\', function (Blueprint $table) {
$table->unsignedBigInteger(\'permission_id\');
$table->unsignedBigInteger(\'role_id\');
$table->foreign(\'permission_id\')->references(\'id\')->on(\'mq_info_permissions\')->onDelete(\'cascade\');
$table->foreign(\'role_id\')->references(\'id\')->on(\'mq_info_roles\')->onDelete(\'cascade\');
$table->primary([\'permission_id\',\'role_id\']);
});
你能告诉我我犯了什么错误吗?
-
看起来像类型 role_id vs roles_ID