Ralat Laravel dalam persekitaran pengeluaran: kelas "App\Models\review" tidak ditemui
P粉029057928
P粉029057928 2023-12-28 09:35:47
0
1
396

Saya mempunyai 3 model dalam aplikasi Laravel saya: Filem, pengguna, ulasan

Komen:

<?php

namespace AppModels;

use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;

class Review extends Model
{
    use HasFactory;

    protected $hidden = ['user_id','movie_id','created_at','updated_at'];

    public function movie(){
        return $this->belongsTo(Movie::class);
    }

    public function user(){
        return $this->belongsTo(User::class);
    }
}

Filem:

<?php

namespace AppModels;

use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;

class Movie extends Model
{
    use HasFactory;

    protected $hidden = ['created_at','updated_at'];

    public function review(){
        return $this->hasMany(review::class);
    }

    public function getAvg()
    {
        return $this->review()->average('rating');
    }

    public function count()
    {
        return $this->review()->count();
    }

    public function getBestRating()
    {
        return $this->review()->max('rating');
    }

    public function getWorstRating()
    {
        return $this->review()->min('rating');
    }
}

Pengguna:

<?php

namespace AppModels;

// use IlluminateContractsAuthMust VerifyEmail;
use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateFoundationAuthUser as Authenticatable;
use IlluminateNotificationsNotifiable;
use LaravelSanctumHasApiTokens;
use TymonJWTAuthContractsJWTSubject;

class User extends Authenticatable implements JWTSubject
{
    use HasApiTokens, HasFactory, Notifiable;

    public function review()
    {
        return $this->hasMany(Review::class);
    }
}

Pertanyaan tidak sah

$movies = Movie::has('review')->with('review.user')->get();

Dalam localhost ia berfungsi dengan baik. Tetapi selepas digunakan dalam digitalOcean ia mengembalikan "Kelas "AppModelsreview" tidak ditemui"

Saya mencuba konsol pada digitalOcean:

> Movie::has('review')->get()
[!] Aliasing 'Movie' to 'AppModelsMovie' for this Tinker session.

 ERROR Class "AppModelsreview" not found in vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasRelationships.php on line 775.

Tetapi selepas menjalankan arahan ini dalam sesi yang sama:

Review::all()

Filem sebelumnya::has('review') berfungsi dengan baik.

Kenapa ni? Adakah saya terlepas sesuatu?

P粉029057928
P粉029057928

membalas semua(1)
P粉124070451

Anda berkemungkinan besar memuatkan kelas daripada sistem fail sensitif huruf besar-besaran, itulah sebabnya isu ini menyebabkan masalah. Walaupun nama kelas PHP tidak sensitif huruf besar. Seperti yang terdapat dalam kenyataan, ini dianggap sebagai amalan yang baik

Anda perlu menukar baris ini:

return $this->hasMany(review::class);

kepada

return $this->hasMany(Review::class);
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!