Kelas 'Quote_Tag' tidak ditemukan Laravel Fasih Banyak ke Banyak

Saya memiliki aplikasi laravel 4 sederhana yang memiliki 3 tabel MySql: quote, quote_tag, dan tag. Saya mencoba menambahkan tag untuk kutipan tertentu menggunakan Eloquent. Setelah saya mengirimkan formulir dengan tag baru, fungsi toko saya tampaknya gagal membuat model entitas asosiatif Eloquent, Quote_Tag, dan mengembalikan pesan kesalahan:

"Kelas 'Quote_Tag' tidak ditemukan"

Apa yang saya lakukan salah di sini?

Rute.php:

Route::get('/{idQuote}/tag', 'TagController@create');
Route::post('/{idQuote}/tag', 'TagController@store');

TagController.php:

public function create($idQuote)
    {
        $quote = Quote::find($idQuote);
        return View::make('tags.create')->with('quote', $quote);
    }
public function store($idPersona, $idQuote)
    {
        $tag = new Tag;
        $tag->tagText = Input::get('tagText');
        $tag->save();

        $quote_tag = new Quote_Tag;
        $quote_tag->idTag = $tag->idTag;
        $quote_tag->idQuote = $idQuote;
        $quote_tag->save();

        $tags = Tag::all();
        $quote_tags = Quote_Tag::all();
        return View::make('tags.index')->with('tags', $tags)->with('quote_tags', $quote_tags);
    }

tampilan/tags/create.blade.php:

{{ Form::open([ 'url' => '{/{idQuote}/tag']) }} 
        {{ Form::label('tagText', 'Tag Text: ') }}
        {{ Form::text('tagText') }}
        {{ Form::label('idQuote', 'Quote ID: ') }}
        {{ Form::text('idQuote', $quote->idQuote) }}
        {{ Form::submit('Submit Tag') }}</div>
{{ Form::close() }}

tampilan/tags/index.blade.php:

@foreach($tags as $tag)
        <li>{{ $tag }}</li>
@endforeach
@foreach($quote_tags as $quote_tag)
        <li>{{ $quote_tag }}</li>
@endforeach

model/Quote.php:

class Quote extends Eloquent {
    public $timestamps = false;
    protected $table = 'quote';
    protected $primaryKey = 'idQuote';

    public function tags()
    {
        return $this->belongsToMany('Tag', 'quote_tag', 'idQuote', 'idTag');
    }
}

model/Quote_Tag.php:

class Quote_Tag extends Eloquent {
    public $timestamps = false;
    protected $table = 'quote_tag';
    protected $primaryKey = 'idQuote_Tag';

    public function quote()
    {
        return $this->hasOne('Quote', 'idQuote');
    }
    public function tag()
    {
        return $this->hasOne('Tag', 'idTag');
    }
}

model/Tag.php:

class Tag extends Eloquent {
    public $timestamps = false;
    protected $table = 'tag';
    protected $primaryKey = 'idTag';

    public function quotes()
    {
        return $this->belongsToMany('Quote', 'quote_tag', 'idQuote', 'idTag');
    }
}

Tabel MySQL:

CREATE TABLE `mountain`.`quote` (
  `idQuote` INT NOT NULL AUTO_INCREMENT,
  `quoteText` TEXT NOT NULL,
  `quoteSource1` VARCHAR(100) NULL,
  `quoteSource2` VARCHAR(100) NULL,
  `idPersona` INT NULL,
  PRIMARY KEY (`idQuote`),

CREATE TABLE `mountain`.`tag` (
  `idTag` INT NOT NULL AUTO_INCREMENT,
  `tagText` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`idTag`));

CREATE TABLE `mountain`.`quote_tag` (
  `idQuote_Tag` INT NOT NULL AUTO_INCREMENT,
  `idQuote` INT NOT NULL,
  `idTag` INT NOT NULL,
  PRIMARY KEY (`idQuote_Tag`),
  INDEX `idTag_idx` (`idTag` ASC),
  INDEX `idQuote_idx` (`idQuote` ASC),
  CONSTRAINT `idTag`
    FOREIGN KEY (`idTag`)
    REFERENCES `mountain`.`tag` (`idTag`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `idQuote`
    FOREIGN KEY (`idQuote`)
    REFERENCES `mountain`.`quote` (`idQuote`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);

person Fetus    schedule 10.08.2014    source sumber


Jawaban (1)


@singularitas

Do a

composer dump-autoload -o

karena pesan kesalahan Anda mengatakan "Kelas 'Quote_Tag' tidak ditemukan" dan deklarasi Anda terlihat benar.

person Arjun Vs    schedule 10.08.2014