不正确的整数值:第 1 行第 'lab_id' 列的“{"id":1,"name":"Main Lab}'

Incorrect integer value: '{"id":1,"name":"Main Lab}' for column 'lab_id' at row 1

我收到此错误 第 1 行 'lab_id' 列

的整数值不正确

与 dd($lab)

它returns 1

但如果我填写表格并单击提交它 returns 错误 应该是从 mount 函数中获取?

我该如何解决?

有人能帮忙吗?


    public function submit()
    {
        $this->validate();
        $this->sample->received_at = now();
        $this->sample->lab_id = $this->lab;
        $this->sample->save();
        $this->message = "Sample {$this->samples->sample_id} Registered Successfully";
    }

   

当你设置了$this->lab = Lab::find($lab);,那么$this->lab就是一个Eloquent模型,而不仅仅是一个id。您只需将该模型的 ID 分配给您正在创建的示例。

$this->sample->lab_id = $this->lab->id;

不应该是$this->lab->id :

$this->sample->lab_id = $this->lab;