2013-01-11 24 views
7

Ho appena creato una semplice app in Laravel 4 e quando creo un modello, ottengo un'eccezione che non è stata trovata.Laravel 4 Classe modello non trovata

// /app/models/Worker.php: 
<?php 

class Worker extends Eloquent {} 

E poi nel controller

var_dump(Worker::find(1)); 

Questo mi dà l'errore: 'operaio' Classe non trovata. Che cosa sto facendo di sbagliato? Questo funzionava in Laravel 3 e anche guardando gli screencast sembra che questo dovrebbe funzionare.

risposta

23

Ogni volta che si crea un nuovo file di classe in L4, eseguire questo comando.

php composer dump-autoload 
+1

"Semplicemente fantastico". E ho pensato che c'è sicuramente qualcosa che ho sbagliato. Ora funziona. Penso di ricordare di averlo sentito su uno degli screencast dei Nettuts, ma, naturalmente, ho dimenticato. Ma ora ho un altro problema, che pubblicherò un'altra domanda per :). –

+0

Ecco l'altro problema: http://stackoverflow.com/questions/14284854/laravel-4-eloquentfind-doesnt-work –

+2

Penso che li hai mescolati .. compositore dump-autoload .. php artisan dump-autoload – Joeri

5

Penso che ci siano due comandi per ottenere l'autoload iniziate:

$ composer dump-autoload 

e

$ php artisan dump-autoload 

Sembra compositore discarica-autoload è quello di lasciare il compositore creare autocaricamenti ai sensi del compositore .json file. E php artisan dump-autoload incolla tutti i dump-autoloads del compositore (anche da venditori e banchi di lavoro) insieme.

+0

grazie buddy php artisan dump -autoload funziona –