【问题标题】:SQLSTATE[42S22]: Column not found: 1054 Unknown column 'empstatus'SQLSTATE [42S22]:找不到列:1054 未知列“empstatus”
【发布时间】:2020-09-02 23:27:59
【问题描述】:

我是 Laravel 7 的初学者,我正在使用两个表“empmast”和“empatten”。我显示了 empmast (empid, empname) 的值,并将两个字段 (empstatus, doa) 连接在一起。然后我尝试将这些值推送到“empatten”表。问题是这些值正试图保存在 empmast instaed empatten 表中。请协助。

完全错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'empstatus' in 'field list'  
(SQL: insert into `empmast` (`empid`, `empname`, `empstatus`, `doa`, `updated_at`, `created_at`) values (2, Kirupa Shankar, Present, 17-05-2020, 2020-05-17 06:34:26, 2020-05-17 06:34:26))

EmpAttenController

use App\Empatten;
use App\Empmast;
use Illuminate\Http\Request;

class EmpAttenController extends Controller
{
    public function store(Request $request, Empatten $empatten)
    {
        $member1 = $request->input('empid');
        $member2 = $request->input('empname');
        $member3 = $request->input('empstatus');
        $member4 = $request->input('doa');


        for ($i = 0; $i < count($member1); $i++) {

            $empatten->empid = $member1[$i];
            $empatten->empname = $member2[$i];
            $empatten->empstatus = $member3[$i];
            $empatten->doa = $member4;
            $empatten->save();
        }
    }
}

Empatten(模型):

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Empatten extends Model
{
    protected $fillable = [
        'empid'     => 'array',
        'empname'   => 'array',
        'empstatus' => 'array',
        'doa'
    ];
}

【问题讨论】:

  • 我收到了 empmast 表的值,并另外添加了两个字段 empstatus 和 doa。 empatten 表有这些字段,empid、empname、empstatus、doa
  • 然而,错误是说empstatusempmast 表中不存在,这让我认为您提供的代码没有导致错误,或者您没有没有提供所有相关代码。另外,只是出于好奇,您想通过for 方法中的for 循环来实现什么目标?

标签: php laravel


【解决方案1】:

在尝试保存之前创建模型的新实例

    use App\Empatten;
    use App\Empmast;
    use Illuminate\Http\Request;

    class EmpAttenController extends Controller
    {
        public function store(Request $request)
        {
            $member1 = $request->input('empid');
            $member2 = $request->input('empname');
            $member3 = $request->input('empstatus');
            $member4 = $request->input('doa');


            for ($i = 0; $i < count($member1); $i++) {
                $empatten = new Empatten(); // initiate your model class
                $empatten->empid = $member1[$i];
                $empatten->empname = $member2[$i];
                $empatten->empstatus = $member3[$i];
                $empatten->doa = $member4;
                $empatten->save();
            }
        }
    }

【讨论】:

  • 我得到了这个工作,通过添加一段代码 protected $table = 'empatten';under model
猜你喜欢
  • 2016-04-09
  • 2018-02-21
  • 2015-12-08
  • 2018-11-02
  • 2016-01-12
  • 2019-10-02
  • 1970-01-01
相关资源
最近更新 更多