Nama fungsi berkaitan Laravel Eloquent
P粉729198207
P粉729198207 2023-07-23 17:45:15
0
1
365
<p>Saya mempunyai dua jadual iaitu "posts" dan "categories". Hubungan antara "siaran" dan "kategori" adalah banyak dengan satu. Oleh itu, kod dalam model kelas "Post" adalah seperti berikut: </p> <pre class="brush:php;toolbar:false;"><?php ruang nama AppModels; gunakan IlluminateDatabaseEloquentFactoriesHasFactory; gunakan IlluminateDatabaseEloquentModel; Kelas Pos memanjangkan Model { gunakan HasFactory; dilindungi $guarded = ['id']; kategori fungsi awam() { pulangkan $this->belongsTo(Kategori::kelas); } }</pre> <p>Menggunakan kod ini, aplikasi berjalan dengan jayanya. </p><p>Masalahnya ialah apabila saya cuba menukar nama fungsi kategori kepada "kategori" dan saya cuba mengakses nama kategori siaran seperti ini: </p><p> <kod>Siaran::first()->kategori->nama</kod>, laravel memberikan ralat seperti ini <kod>Cuba untuk membaca sifat "nama" pada null dalam D:BelajarProgramCODINGANLaravelapplicationcoba-laraveleval() 'd kod.</code></p> <p>(diedit</p> <p>Apabila nama fungsi Eloquent ialah "kategori", "Post::first()->category" mengembalikan kategori siaran. Walau bagaimanapun, apabila saya cuba menukar nama fungsi kepada "kategori" dan mengaksesnya menggunakan "Post::first()->categories", ia mengembalikan null. </p> <p>)</p> <p>Saya cuba menukar nama fungsi berkaitan Eloquent dalam model kelas kategori kepada nama rawak, tetapi saya masih boleh mengaksesnya dan Laravel tidak melaporkan ralat. Kod model kelas kategori adalah seperti berikut: </p> <pre class="brush:php;toolbar:false;"><?php ruang nama AppModels; gunakan IlluminateDatabaseEloquentFactoriesHasFactory; gunakan IlluminateDatabaseEloquentModel; Kategori kelas memanjangkan Model { gunakan HasFactory; dilindungi $guarded = ['id']; siaran fungsi awam(){ pulangkan $this->hasMany(Post::class); } }</pre> <p>Bolehkah sesiapa membantu saya? Mengapa saya boleh menukar nama fungsi Eloquent dalam model kelas kategori tetapi tidak dalam model kelas jawatan? </p>
P粉729198207
P粉729198207

membalas semua(1)
P粉330232096

Melakukan perkara berikut seharusnya menyelesaikan masalah:

public function categories()
{
    return $this->belongsTo(Category::class, 'category_id', 'id');
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!