首页 > 解决方案 > Laravel 自定义表单请求获取 id

问题描述

我有控制器控制器方法:存储和更新:

public function store(AddEditShopRequest $request)
{
    $extra = ['user_id' => Auth::user()->id, 'slug' => str_slug($request->title)];
    $shop = Shop::create(array_merge($request->all(), $extra));

    return redirect()->back();
}

public function update(AddEditShopRequest $request, Shop $shop)
{
    $shop->update($request->all());

    return redirect()->back();
}

我有请求:AddEditShopRequest:

public function authorize()
{
    return true;
}

/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{
    return [
        'title' => 'required|string|min:3|max:15|unique:shops,title,' . 
    $this->id,
    ]
}

当用户更新商店时,$this->id让我为空,我尝试了:$this->route('shop')->id并且工作了,但是当用户商店商店时,laravel 让我错误:Trying to get property 'id' of non-object

我该如何解决这个问题?

标签: phplaravel

解决方案


推荐阅读