Php Laravel 6错误:SQLSTATE[23000]:完整性约束冲突:where子句中的1052列“id_perusahaan”不明确

Php Laravel 6错误:SQLSTATE[23000]:完整性约束冲突:where子句中的1052列“id_perusahaan”不明确,php,mysql,laravel,laravel-6,Php,Mysql,Laravel,Laravel 6,我想在用户单击id时显示一些表,但它是不同的表,但我发现如下错误: SQLSTATE[23000]:完整性约束冲突:1052列 where子句中的“id_perusahaan”不明确SQL:select*from produk_usaha内部加入“produk_usaha”上的“perusahan”。“id_perusahan” ='perusahaan''id\u perusahaan'其中'id\u perusahaan'=134 你能帮我解决这个问题吗 霉菌控制者 查看详细信息 谢谢:在w

我想在用户单击id时显示一些表,但它是不同的表,但我发现如下错误:

SQLSTATE[23000]:完整性约束冲突:1052列 where子句中的“id_perusahaan”不明确SQL:select*from produk_usaha内部加入“produk_usaha”上的“perusahan”。“id_perusahan” ='perusahaan''id\u perusahaan'其中'id\u perusahaan'=134

你能帮我解决这个问题吗

霉菌控制者

查看详细信息


谢谢:

在where查询中,您需要添加表名。 在内部联接中,它联接两个表。因此,当您得到任何列时,您需要知道它是哪个表的列。这样写你的函数

public function detail($id)
    {
        $usaha = DB::table('perusahaan')
                        ->join('jenis_produk', 'perusahaan.id_jenis_produk', '=', 'jenis_produk.id_jenis_produk')
                        ->join('pengusaha', 'perusahaan.id_pengusaha', '=', 'pengusaha.id_pengusaha')
                        ->where('perusahaan.id_perusahaan', $id)->first();

        $produk = DB::table('produk_usaha')
                        ->join('perusahaan', 'produk_usaha.id_perusahaan', '=', 'perusahaan.id_perusahaan')
                        ->where('perusahaan.id_perusahaan', $id)->get();

        $loker = DB::table('lowongan_kerja')
                        ->join('perusahaan', 'lowongan_kerja.id_perusahaan', '=', 'perusahaan.id_perusahaan')
                        ->where('perusahaan.id_perusahaan', $id)->get();

        return view('detail', compact('usaha', 'produk', 'loker'));
    }
列id_perusahaan位于要连接的两个表中,因此在WHERE中,它不知道在哪个表中应用此条件,因此必须指定表名

我知道返回的数据应该有两个具有相同值的列,并且指定表名似乎没有用,但是SQL不理解这一点

更改->其中的'id_perusahaan',$id->first;到->哪里有'produk\u usaha.id\u perusahaan',$id->first;或者->where'perusahaan.id_perusahaan',$id->first

只需将表名放在where子句中,即where'perusahaan.id_perusahaan',$id将发挥神奇的作用
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Test View</title>
    </head>
    <body>
        <h2>Info usaha</h2>
        <table border="1">
            <tr>
                <td width="100">Nama Usaha</td>
                <td width="10">:</td>
                <td>{{ $usaha->nama_perusahaan }}</td>
            </tr>
            <tr>
                <td>Jenis Produk</td>
                <td>:</td>
                <td>{{ $usaha->nama_jenis_produk }}</td>
            </tr>
            <tr>
                <td>Alamat Usaha</td>
                <td>:</td>
                <td>{{ $usaha->alamat_perusahaan }}</td>
            </tr>
            <tr>
                <td>Tanggal Didirikan</td>
                <td>:</td>
                <td>{{ $usaha->tanggal_didirikan }}</td>
            </tr>
            <tr>
                <td>No. Telp</td>
                <td>:</td>
                <td>{{ $usaha->no_telp }}</td>
            </tr>
            <tr>
                <td>Keterangan Usaha</td>
                <td>:</td>
                <td>{{ $usaha->keterangan_perusahaan }}</td>
            </tr>
        </table>

        <hr>

        <h2>Daftar Produk</h2>
        <table border="1">
            @foreach($produk as $p)
                <tr>
                    <td><img src="{{ asset('images/produk/'.$p->foto_produk_usaha) }}" alt=""></td>
                    <td>{{ $p->nama_produk_usaha }}</td>
                    <td>{{ $p->harga_produk_usaha }}</td>
                </tr>
            @endforeach
        </table>

        <hr>

        <h2>Lowongan Kerja</h2>
        <table border="1">
            @foreach($loker as $l)
                <tr>
                    <td>{{ $l->judul_loker }}</td>
                    <td>{{ $l->deskripsi_loker }}</td>
                    <td>{{ $l->gaji_loker }}</td>
                </tr>
            @endforeach
        </table>
    </body>
</html>
public function detail($id)
    {
        $usaha = DB::table('perusahaan')
                        ->join('jenis_produk', 'perusahaan.id_jenis_produk', '=', 'jenis_produk.id_jenis_produk')
                        ->join('pengusaha', 'perusahaan.id_pengusaha', '=', 'pengusaha.id_pengusaha')
                        ->where('perusahaan.id_perusahaan', $id)->first();

        $produk = DB::table('produk_usaha')
                        ->join('perusahaan', 'produk_usaha.id_perusahaan', '=', 'perusahaan.id_perusahaan')
                        ->where('perusahaan.id_perusahaan', $id)->get();

        $loker = DB::table('lowongan_kerja')
                        ->join('perusahaan', 'lowongan_kerja.id_perusahaan', '=', 'perusahaan.id_perusahaan')
                        ->where('perusahaan.id_perusahaan', $id)->get();

        return view('detail', compact('usaha', 'produk', 'loker'));
    }