【问题标题】:SQLSTATE[42S22]: Column not found: 1054 Unknown column in 'field list'SQLSTATE [42S22]:找不到列:1054“字段列表”中的未知列
【发布时间】:2019-05-28 06:56:42
【问题描述】:

我尝试使用 foreach 循环将多个数据存储在“jawapan”表中。该循环基于来自“soalan”表的“soalan_id”。这是我的错误: SQLSTATE [42S22]:找不到列:1054 '字段列表'中的未知列'status_pengesahan'(SQL:插入soalanstatus_pengesahansoalan_idsesi_idagensi_idupdated_at,@ 987654329@) 值 (belum_disahkan, 2, 4, 3, 2019-01-01 01:47:00, 2019-01-01 01:47:00))

我的错误:

我的模特:

class Jawapan extends Model
{
protected $table = 'jawapan';
protected $primaryKey = 'jawapan_id';
protected $fillable = ['jawapan', 'status_pengesahan', 'soalan_id', 'sesi_id', 'agensi_id'];

public function soalan()
{
    return $this->belongsTo('App\Soalan', 'soalan_id', 'soalan_id');
}

public function sesi()
{
    return $this->belongsTo('App\Sesi', 'sesi_id', 'sesi_id');
}

public function agensi()
{
    return $this->belongsTo('App\Agensi', 'agensi_id', 'agensi_id');
}

}

我的看法:

<div class="modal fade" id="tambah_sesi">
  <div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    <h4 class="modal-title">Pendaftaran Sesi</h4>
  </div>
  <div class="modal-body">
    {!! Form::open(['method' => 'POST', 'url' => '/tambah_jadul_baru', 'class' => 'form-horizontal']) !!}

        <div class="form-group{{ $errors->has('agensi_id') ? ' has-error' : '' }}">
            {!! Form::label('agensi_id', 'Agensi/PTJ') !!}
            {!! Form::select('agensi_id', $agensi, null, ['id' => 'agensi_id', 'class' => 'form-control', 'required' => 'required', 'single']) !!}
            <small class="text-danger">{{ $errors->first('agensi_id') }}</small>
        </div>
        <div class="form-group{{ $errors->has('sesi_id') ? ' has-error' : '' }}">
            {!! Form::label('sesi_id', 'Sesi') !!}
            {!! Form::select('sesi_id', $sesi, null, ['id' => 'sesi_id', 'class' => 'form-control', 'required' => 'required', 'sesi']) !!}
            <small class="text-danger">{{ $errors->first('sesi_id') }}</small>
        </div>

  </div>
  <div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">Tutup</button>
    <button type="submit" class="btn btn-primary">Simpan</button>
  </div>
  {!! Form::close() !!}
</div>

我的控制器:

public function store(Request $request)
{        
    $soalan_id = Soalan::select('soalan_id')->get('soalan_id');

    foreach ($soalan_id as $question) {

        $Soalan = New Soalan();

        $Soalan->status_pengesahan = "belum_disahkan";
        $Soalan->soalan_id = $question->soalan_id;
        $Soalan->sesi_id = $request->sesi_id;
        $Soalan->agensi_id = $request->agensi_id;

        $Soalan->save();

    }



    $agensi_sesi = Agensi::find($request->agensi_id);
    $agensi_sesi->sesi()->attach($request->sesi_id);
    // dd($agensi_sesi);
    // $sesi = Agensi::find(1)->sesi()->get();
    // dd($sesi);
    return redirect('/list_jadual');

}

【问题讨论】:

  • 我对此有所了解。如果我有误解,请发布您的Soalan 课程。您还可以导出表(soalanjawapan)并在此处发布它们的表定义。

标签: laravel


【解决方案1】:

我尝试使用 foreach 循环将多个数据存储在“jawapan”表中。

但这与您的错误消息中的 SQL 不匹配:

SQL:插入到 soalan (status_pengesahan, soalan_id, sesi_id, agensi_id, updated_at, created_at) 值 (belum_disahkan, 2, 4, 3, 2019-01-01 01:47:00, 2019-01-01 01:47 :00))

您将数据存储到soalan 表中,而不是jawapan 表中。如果jawapanstatus_pengesahan 列而soalan 没有,则错误消息完全正确。该列在 soalan 上未知。

不妨试试

foreach ($soalan_id as $question) {

    $Jawapan = New Jawapan();

    $Jawapan->status_pengesahan = "belum_disahkan";
    $Jawapan->soalan_id = $question->soalan_id;
    $Jawapan->sesi_id = $request->sesi_id;
    $Jawapan->agensi_id = $request->agensi_id;

    $Jawapan->save();

}

【讨论】:

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