我在数据库中有5个与此相关的表
tbl_petugas:
id | name
1 | jako
2 | miki
tbl_segment:
id|petugas_id|kelompok_jalan_id|date
1 |1 |1 |2-oct
tbl_kelompok_jalan:
id|name
1 |jl kebayoran
2 |jl M said
tbl_kelompok_jalan_pelanggan:
id|kelompok_jalan_id|pelanggan_nometer
1 |1 |112233
2 |1 |223344
tbl_pelanggan:
nometer | name
112233 | vivi
223344 | lala
我需要获取所有与矮胖有关的pelanggan,并且这是我雄辩的模型tbl_segment上的联系
petugas model:
class Petugas extends Model
{
public function segment()
{
return $this->belongsToMany(Kelompokjalan::class,'tbl_segment');
}
}
segment model:
class Segment extends Model
{
public function kelompok()
{
return $this->belongsTo(Kelompokjalan::class,'kelompok_jalan_id');
}
public function petugas()
{
return $this->belongsTo(petugas::class,'petugas_id');
}
}
kelompokjalan model:
class KelompokJalan extends Model
{
public function pelanggan()
{
return $this->belongsToMany(pelanggan::class,'tbl_kelompok_jalan_pelanggan');
}
public function petugas()
{
return $this->belongsToMany(petugas::class,'tbl_segment');
}
}
pelanggan model;
class Pelanggan extends Model
{
public function kel()
{
return $this->belongsTo(kelurahan::class,'kelurahan','kode');
}
public function kec()
{
return $this->belongsTo(kecamatan::class,'kecamatan','kode');
}
public function kelompok()
{
return $this->belongsToMany(Kelompokjalan::class,'tbl_kelompok_jalan_pelanggan');
}
}
我尝试搭配pelanggan
$petugas = Petugas::find(3);
return $petugas->segment->kelompok->pelanggan;
但是什么也没出现,任何人都可以给我线索,我被卡住了。 谢谢。。
答案 0 :(得分:0)
Petugas
和KelompokJalan
模型以belongsToMany
关系的形式加入。您不能以segment->kelompok->pelanggan;
$petugas = Petugas::with('segment.kelompok')->whereId(3)->first();
现在使用dd($petugas)
或print_r($petugas);
进行检查,您将获得segment
的多个对象
尝试使用foreach
if(!empty($petugas->segment)){
foreach($petugas->segment as $segment){
print_r($segment);
}
}
尝试使用foreach
,因为这里没有单个数组,而是多个对象。
答案 1 :(得分:0)
我从Dilip Hirapa得到了线索的解决方案
$ petugas = Petugas :: with('segment.kelompok.pelanggan')-> whereId(3)-> first();
会出现pelanggan