【问题标题】:SQLSTATE[42S22]: Column not found: 1054 Unknown column '1' in 'field list' (SQL: select `1` from `phonebooks`)SQLSTATE [42S22]:未找到列:1054“字段列表”中的未知列“1”(SQL:从“电话簿”中选择“1”)
【发布时间】:2018-04-01 19:32:26
【问题描述】:

当我尝试将数据传递到编辑页面时出现此错误。请帮助我

Connection.php 第 729 行中的 QueryException: SQLSTATE[42S22]:找不到列:1054 '字段列表'中的未知列'1'(SQL:从phonebooks中选择1

PhonebookController.php

public function edit($id)
    {
        $data = Phonebooks::all($id);
        echo"$data";
        return view('phonebook.edit', compact('$data'));
    }

edit.blade.php

<html>
    <body>
        <form method="POST" action="{{ URL::to('phonebook') }}" >
            <input type="text" name="id" value="{{$id}}"/>
            <input type="text" name="phoneNo" value="{{old('phoneNo')}}"/>
            <input type="text" name="email" value="{{old('email')}}" />
            <input type="submit" value="Save"/>
            <input type="hidden" name="_token" value="{{ csrf_token() }}">
        </form>

    </body>
</html>

【问题讨论】:

  • 尝试电话簿::find($id);并使用 print_r 而不是 echo
  • 也尝试一下,然后在 dbaaacd2cddb92a8901b9b21664ee9c4c15a3183.php 第 5 行收到此错误 ErrorException:未定义变量:id(查看:/home/ubuntu/workspace/student/resources/views/phonebook/edit.blade。 php)

标签: mysql laravel


【解决方案1】:

你应该试试这个:

 public function edit($id)
        {
            $data = Phonebooks::find($id);

            return view('phonebook.edit', compact('data'));
        }

<html>
    <body>
        <form method="POST" action="{{ URL::to('phonebook') }}" >
            <input type="text" name="id" value="{{$data->id}}"/>
            <input type="text" name="phoneNo" value="{{old('phoneNo')}}"/>
            <input type="text" name="email" value="{{old('email')}}" />
            <input type="submit" value="Save"/>
            <input type="hidden" name="_token" value="{{ csrf_token() }}">
        </form>

    </body>
</html>

【讨论】:

  • @Rika 很高兴为您提供帮助!!!如果我的回答是你的解决方案,那么请接受我的回答
【解决方案2】:
public function edit($id)
        {
            $data = Phonebooks::find($id);
            return view('phonebook.edit', compact('data'));
        }

If you use Laravel Form Model then not required to pass any hidden data and assign individual values. Below is link how you can use Form model. Even not require passing CSRF token on hidden.

https://selftaughtcoders.com/from-idea-to-launch/lesson-23/laravel-5-application-form-model-binding-laravelcollective-forms-html-library-bootstrap-framework/

{!! Form::model($post, ['method' => 'PATCH','url' => ['/admin/posts',$post->id], ]) !!}

{!! Form::text('phoneNo', null, ['class' => 'form-control']) !!}

{!! Form::email('email', null, ['class' => 'form-control']) !!}
{!! Form::submit('Save', ['class' => 'btn btn-primary form-control']) !!}

希望对你有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 2021-10-31
    • 2018-10-23
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多