我很难找到为什么service_id返回空值
服务模型
public function categories()
{
return $this->belongsToMany('App\Models\Categories', 'categories_services', 'services_id', 'categories_id');
}
类别模型
protected $table = "categories";
public function services()
{
return $this->belongsToMany('App\Models\Services', 'categories_services', 'categories_id', 'services_id');
}
服务控制器
$command = new \App\BizCommands\AddServices();
$arr = $request->all();
$arr["merchant_id"] = 1;
$arr["peak_mode"] = 0;
$arr["type"] = "SERVICE";
$arr["tags"] = implode(",", $request->tags);
$ret = $command->execute($arr, Auth::user());
$ret->success = ($ret->error_code==0);
$service = new Services;
$service->categories()->attach($request->category_id);
dd($service);
category_services表仅获取相应类别ID的ID,而新插入的服务ID在插入Categories_services时将导致为null。
非常感谢任何帮助
答案 0 :(得分:0)
您刚刚创建了一个新的服务实例。因此,我认为它将为空。 例如:如果我必须为用户插入角色,那么我可以做的就是
$user = App\User::find(1);
$user->roles()->attach($roleId);
它将插入role_id。就您而言,您可以执行以下操作:
$service = new Service();
$service->name = $request->name;
$service->Save();
$service->categories()->attach($request->category_id);