如何获取Laravel上另一个表的值?

如何获取Laravel上另一个表的值?,laravel,controller,Laravel,Controller,我试图只获取表上id列的值,但它返回 SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '[{"id":1}]' for column 'id_jenis' at row 1 (SQL: insert into `pesanan` (`name`, `telpon`, `alamat`, `id_jenis`, `jenis`, `do`, `updated_at`, `created_at`) values (Pradi

我试图只获取表上id列的值,但它返回

SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '[{"id":1}]' for column 'id_jenis' at row 1 (SQL: insert into `pesanan` (`name`, `telpon`, `alamat`, `id_jenis`, `jenis`, `do`, `updated_at`, `created_at`) values (Pradita Candrani, 0813, Jalan Sunan Ampel Kasin, [{"id":1}], Cuci Basah Standar, None, 2019-11-27 12:18:35, 2019-11-27 12:18:35))
这是我在控制器上的代码

public function pesan(Request $request){
    $harga = Harga::select('id')->where('nama',$request->jenis)->get();
    Pesanan::create([
        'name' => $request->nama,
        'telpon' => $request->telpon,
        'alamat' => $request->alamat,
        'id_jenis' => $harga,
        'jenis' => $request->jenis,
        'do'=>$request->do
]);
return redirect('/pesanan');
}

我怎样才能解决这个问题?请帮助

您现在正在获取对象并将其直接传递给
id\u jenis
。使用
first()
而不是
get()
。并在
id\u jenis
中传递
$harga->id

    $harga = Harga::select('id')->where('nama',$request->jenis)->first();
    Pesanan::create([
        'name' => $request->nama,
        'telpon' => $request->telpon,
        'alamat' => $request->alamat,
        'id_jenis' => $harga->id,
        'jenis' => $request->jenis,
        'do'=>$request->do
]);
如果要在
id\u jenis
中存储多个id,请使用Pull

$harga = Harga::where('nama',$request->jenis)->pluck('id')->toArray();
在这里,您将在数组中获得多个ID。因此,使用
json\u encode
将json存储在db中,如下所示

    Pesanan::create([
        'name' => $request->nama,
        'telpon' => $request->telpon,
        'alamat' => $request->alamat,
        'id_jenis' => json_encode($harga),
        'jenis' => $request->jenis,
        'do'=>$request->do
]);

$harga=harga::select('id')->where('nama',$request->jenis)->get()

在这一行之后,写下

\Log::info(['Harga',$Harga])

并在
/storage/logs/laravel.log


欢迎来到调试的奇妙世界

如果有帮助,请选择答案。