我正在嘗試顯示codeItem 的哪一個屬性 ( )。ServiceItem 將 Item 作為外鍵。但是我根本拿不到物品。
這個在刀片模板中給出了一個空白物件:
@foreach ($service->serviceItems as $serviceItem )
{{ json_encode($serviceItem->item()) }}
@endforeach

這是我的模型宣告:
//ServiceItem model
class ServiceItem extends Model
{
use HasFactory;
public $fillable = ['service_id', 'item_id', 'values'];
public function service()
{
return $this->belongsTo(Service::class, 'foreign_key');
}
// this doesn't work
public function item()
{
return $this->belongsTo(Item::class, 'foreign_key');
}
}
// Service model
class Service extends Model
{
use HasFactory;
public $fillable = ['user_id', 'site_id', 'title', 'status', 'remarks', 'report', 'date'];
public function user()
{
return $this->belongsTo('\App\Models\User');
}
public function site()
{
return $this->belongsTo('\App\Models\Site');
}
public function serviceItems() {
return $this->hasMany('\App\Models\ServiceItem');
}
}
這是我的控制器:
public function index()
{
$services = Service::latest()->paginate(5);
return view('services.index', compact('services'))
->with('i', (request()->input('page', 1) - 1) * 5);
}
請幫我code在服務專案中顯示該屬性!!!非常感謝!
uj5u.com熱心網友回復:
我想你閱讀了模型關系定義的 Laravel 檔案。他們參考將外鍵作為第二個引數,而不是foreign_key作為詞,而是您參考父表的實際外鍵。您必須更改型號代碼。
class ServiceItem extends Model
{
use HasFactory;
public $fillable = ['service_id', 'item_id', 'values'];
public function service()
{
return $this->belongsTo(Service::class, 'service_id');
}
public function item()
{
return $this->belongsTo(Item::class, 'item_id');
}
}
然后$serviceItem->item應該按預期作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/370937.html
標籤:拉拉维尔 雄辩 laravel-blade
