[英]Attempt to read property "username" on bool
我正在嘗試在 Laravel 中使用“Eager loading relationship”。
我使用one-to-many
關系,我正在嘗試使用@foreach
訪問.blade.php
文件中我想要的信息,但出現錯誤Attempt to read property "username" on bool
I'm facing
這是我的用戶 model User.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
use HasFactory;
public function nfts()
{
return $this->hasMany(Nft::class);
}
}
這是我的 Nft model Nft.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Model;
class Nft extends Model
{
use HasFactory,SoftDeletes;
use SoftDeletes;
protected $table = 'nfts';
public function user()
{
return $this->belongsTo(User::class);
}
}
這是我的 controller NftController
public function getNft(int $id):view
{
$nft = Nft::with('user')->find($id);
return view('nfts.singleNft', ['nft'=>$nft]);
}
這是我的userinfo.blade.php
頁面
<tbody>
@foreach($nft->user as $user)
<tr>
<td>1.</td>
<td>Username</td>
<td><span class="badge bg-primary">{{$user->username}}</span></td>
.
.
.
問題是什么?
您遍歷項目集合。
你的nft
是單個model,不是集合。
放下foreach
<tbody>
<tr>
<td>1.</td>
<td>Username</td>
<td><span class="badge bg-primary">{{$nft->user->username}}</span></td>
.
.
.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.