0
votes

i'm using Laravel 6

i have 2 tables (layanans and objeks), when i want to select a field from 'layanans' into 'objeks', i got this error message:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'layanans.objek_id_object' in 'where clause' (SQL: select * from layanans where layanans.objek_id_object = 2 and layanans.objek_id_object is not null)

layanan table

id_layananbigint(20) unsigned NOT NULL
nama_layananvarchar(150) NOT NULL
created_attimestamp NULL
updated_attimestamp NULL

objek table

id_objectbigint(20) unsigned NOT NULL
layanan_idbigint(20) unsigned NOT NULL
tipe_objectvarchar(255) NOT NULL
created_attimestamp NULL
updated_attimestamp NULL

Objek model

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Objek extends Model
{
    protected $fillable=[
        'layanan_id', 'tipe_object'
    ];
    protected $primaryKey = 'id_object';

    public function layanan(){
        return $this->hasMany('\App\Layanan');
    }
}

Layanan model

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Layanan extends Model
{
    protected $fillable=[
        'nama_layanan'
    ];

    protected $primaryKey = 'id_layanan';

}

Controller

<?php

namespace App\Http\Controllers;

use App\Layanan;
use App\Objek;
use Illuminate\Http\Request;

class Pages extends Controller
{
public function object(){
    $objek = \App\Objek::all();
    return view ('pages.alat.object.object')->with('data',$objek);
}
}

what is the problem?

1
What is the intended relationship between Objek and Layanan? Can an Layana have many Objeks or just one? - Alec Joy
It seems like you are trying to load layanan table, the code you only load objek? or are you iterating over it in the view? - mrhn
it's the other way around, Objek can have many Layanan - agastyarimbawa

1 Answers

0
votes

I forgot to write my foreach

object.blade.php

@foreach ($data as $item)                   
                <tr>
                  <td>{!! $item->id_object !!}</td>
                  <td>{!! $item->layanan->nama_layanan !!}</td>
                  <td>{!! $item->tipe_object !!}</td>
                  {{-- <td>{!! $item->created_at->format('d/m/Y') !!}</td> --}}
                  {{-- <td>{!! $item->updated_at->format('d/m/Y') !!}</td> --}}
                  <td width="103px">
                    <div class="">
                    <a class="btn btn-block btn-sm btn-success col-12 d-inline" href="/pages/alat/layanan/edit/{{$item->id_layanan}}">Edit</a>
                    <a class="btn btn-block btn-sm btn-danger col-12 d-inline" href="/pages/alat/layanan/delete/{{$item->id_layanan}}">Hapus</a>
                    </div>
                  </td>
                </tr>
@endforeach

1 id_object/tipe_object has it's own 'nama_layanan' from Layanan. But and object can have many 'nama_layanan'