簡體   English   中英

嘗試讀取 bool 上的屬性“用戶名”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM