Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用户编辑资源不工作_Php_Laravel_Blade_Laravel Routing - Fatal编程技术网

Php 用户编辑资源不工作

Php 用户编辑资源不工作,php,laravel,blade,laravel-routing,Php,Laravel,Blade,Laravel Routing,我有一个用户资源,其链接在users表中 我的路线: Route::resource('user', 'UserController'); UserController.php public function edit($id) { $user = User::find($id); return view('user.edit')->with(array('user'=>$user)); } public function update(Request $requ

我有一个用户资源,其链接在
users
表中

我的路线:

Route::resource('user', 'UserController');
UserController.php

public function edit($id)
{
    $user = User::find($id);
    return view('user.edit')->with(array('user'=>$user));
}

public function update(Request $request, $id)
{
    $rules = array(
        'name' => 'required',
    );

    $validator = Validator::make(Input::all(), $rules);
    if ($validator->fails())
    {
        return Redirect::to('user/'.$id.'/edit')->withInput()->withErrors($validator);
    }
}
我的看法呢

{!! Form::model($user, array('route' => array('user.update', $user->id), 'method' => 'PUT', 'class' => 'form-horizontal')) !!}
    @if (count($errors) > 0)
    <div class="alert alert-danger">
            <strong>Whoops!</strong> There were some problems with your input.<br><br>
            <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    @endif

    <div class="flash-message">
        @foreach (['danger', 'warning', 'success', 'info'] as $msg)
          @if(Session::has('alert-' . $msg))
          <p class="alert alert-{{ $msg }}">{{ Session::get('alert-' . $msg) }}</p>
          @endif
        @endforeach
    </div>

    <div class="form-group"><label class="col-sm-2 control-label">Name</label>
        <div class="col-sm-10"><input type="text" name="name" id="name" value="{{$user->name}}" class="form-control"></div>
    </div>

    <div class="form-group"><label class="col-sm-2 control-label">ID Number</label>
        <div class="col-sm-10"><input type="text" name="id_number" id="id_number" value="{{$user->id_number}}" class="form-control"></div>
    </div>

    <div class="hr-line-dashed"></div>
    <div class="form-group">
        <div class="col-sm-4 col-sm-offset-2">
            <button class="btn btn-primary" type="submit">Save changes</button>
        </div>
    </div>
{!! Form::close() !!}

还有一个白色的空白页,没有任何错误。这意味着它将进入我的
update
功能?我的其他资源也遵循相同的模式,这是唯一一个不工作的资源。

您的web服务器配置错误。您应该将web服务器(通常是Apache或nginx)指向Laravel项目的
public
目录。然后重新启动web服务器

例如,对于Apache,正确的配置如下:

DocumentRoot "C:/xampp/htdocs/hrs/public"
<Directory "C:/xampp/htdocs/hrs/public">
DocumentRoot“C:/xampp/htdocs/hrs/public”

发现了问题,我没有验证的
部分。因为这是活动的目的地。既然我没有它,它就什么也干不了

    $validator = Validator::make(Input::all(), $rules);
    if ($validator->fails())
    {
        return Redirect::to('user/'.$id.'/edit')->withInput()->withErrors($validator);
    }
    else
    {
        dd($rules);
    }

也许你只是没有得到验证错误?这个url是
update
方法的正确路径,所以我认为一切都正常。尝试将
dd('here')
放在
update
方法中。我打赌你会在这里看到
:)@GiedriusKiršys谢谢你的建议。我终于知道发生了什么事。哈哈,验证程序失败后,请求才会发出。因为我没有其他的部分,所以它什么也做不了。谢谢你的帮助,但是我的公共目录没有问题,因为我可以登录系统和所有东西。问题是更新方法,但我现在修复了它,当Laravel构建包含公共url的url时,这意味着您有错误的配置。如果你不解决这个问题,你会发现很多类似的错误。如果我在url中有public也没关系,因为我在开发阶段,我正在生产中删除public。我理解使用虚拟主机。无论如何,我的问题只是我忘了添加代码中的“else”部分,与URL或目录无关:)
    $validator = Validator::make(Input::all(), $rules);
    if ($validator->fails())
    {
        return Redirect::to('user/'.$id.'/edit')->withInput()->withErrors($validator);
    }
    else
    {
        dd($rules);
    }