Laravel 更新请求验证如何获取id

标签 laravel

我正在使用 Laravel 5.2 并且我已经设法为我的用户正确设置了我的更新请求,但是当我对另一个表(集群)执行完全相同的操作时,我无法在 clusterrequest 验证中获取 id。

这是我的集群所拥有的:
路线:

Route::post('clusterFormUpdate/{id}', ['uses'=>'ClusterController@postFormUpdate','middleware' => ['permission:user-edit']]);

Controller :
public function postFormUpdate(ClusterUpdateRequest $request, $id)
{
    $inputs = $request->all();

集群更新请求:
...
public function rules()
{

    $id = $this->id;
    dd($id);

    return [
        'name'      => 'required|max:255|unique:clusters,name,' . $id . ',id',
        'countries' => 'required',
    ];
}

当我运行它时,我得到空值。

如果我对我的用户表尝试相同的方法,我会得到正确打印的 id,所以我想知道在哪里可以找到这个问题?

谢谢。

最佳答案

要获取 Request 中的 id,您可以使用 route() 方法:

public function rules()
{
    $id = $this->route('n'); //or whatever it is named in the route

    return [ 
        'name'      => 'required|max:255|unique:clusters,name,' . $id . ',id',
        'countries' => 'required',
    ];
}

希望这可以帮助!

关于Laravel 更新请求验证如何获取id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45958818/

相关文章:

php - 403 Forbidden on nginx/1.4.6 (Ubuntu) - Laravel

php - 使用 laravel 进行异步评分(喜欢/不喜欢)

php - 更改数据库列的排序规则在 laravel 迁移中不起作用

laravel - 如何在 Laravel 的实时服务器上解决此错误?

php - 重定向 URL 中缺少斜杠

php - API 中的 Laravel 策略总是 403 未经授权

laravel - vim : The term 'vim' is not recognized as the name of a cmdlet?

mysql - Laravel 4 中的路由和 MySQL 查询

php - 如何在 PHP 或 Laravel 中访问 JsonResponse 对象中的属性值?

javascript - 限制用户在 PHP 中查看页面