【发布时间】:2020-04-29 12:20:05
【问题描述】:
我想查询从其他表中引用的数据,但我得到了这个:
“试图获取非对象的属性'layanan'”。
所以,我有 2 张桌子,Objeks 和 Layanans。 Layanans 可以有很多 Objeks,我已经创建了它的外键,并且查询正在数据库中工作,但是当我想从 Layanans 获得的 foreach Objeks 和 foreach nama_layanan 时,它给了我错误...
这里是细节
拉亚南表
$table->bigIncrements('layanans_id');
$table->string('nama_layanan');
$table->timestamps();
对象表
$table->bigIncrements('objeks_id');
$table->unsignedBigInteger('nama_layanan');
$table->string('tipe_objeks');
$table->timestamps();
$table->foreign('nama_layanans')->references('layanans_id')->on('layanans')
->onUpdate('cascade')
->onDelete('cascade');
Layanan.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Layanan extends Model
{
protected $fillable=[
'nama_layanan'
];
protected $primaryKey = 'layanans_id';
public function objek() {
return $this->hasMany(Objek::class);
}
}
Objek.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Objek extends Model
{
protected $fillable=[
'nama_layanan', 'tipe_objeks'
];
protected $primaryKey = 'objeks_id';
public function layanan() {
return $this->belongsTo(Layanan::class);
}
}
这是我的 foreach object.blade.php
@foreach ($data as $item)
<tr>
<td>{!! $item->objeks_id !!}</td>
<td>{!! $item->objeks->layanan->nama_layanan !!}</td>
<td>{!! $item->tipe_objeks !!}</td>
</tr>
@endforeach
这里有什么问题?
【问题讨论】:
标签: php laravel eloquent laravel-6