0
class User extends Authenticatable
{
use Notifiable;
protected $guarded = ['group_c', 'group_s', 'categories'];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function groups()
{
return $this->belongsToMany('App\Group');
}
public function categories()
{
return $this->belongsToMany('App\Category');
}
}
這個表有關係「多對多」至2個anoter表:組
class Group extends Model
{
public function users()
{
return $this->belongsToMany('App\User');
}
}
和類別
class Category extends Model
{
public function Users()
{
return $this->belongsToMany('App\User');
}
}
我從Post請求中取數據,並將它們放到Users表中,但'group' 字段我寫入'grou p_user」數據透視表,在我的控制器:
class UserController extends Controller
{
public function create_user(CrateNewUser $request)
{
//dd(Request::all());
if (Request::input('user_type') == '1') {
$groups = Request::input('group_c');
$categories = Request::input('categories');
User::create(Request::all())->groups()->attach($groups);
} elseif (Request::input('user_type') == '2') {
$groups = Request::input('group_s');
$categories = Request::input('categories');
User::create(Request::all())->groups()->attach($groups);
}
return $this->manage_users();
}
}
,但我需要也從另一個後場寫入數據‘通過一個SQL請求類別’到另一個透視表categories_user,我可怎麼辦呢?
是'CrateNewUser'表單請求? –
您的 - > groups() - > attach($ groups)試圖從表單中附加一個字段。你應該首先創建一個組模型,也許使用Group :: find($ groups) – Mei
@Mei如果'Request :: input('categories')'返回一個id或一個id數組,那麼你不需要。 –