2017-11-02 4 views
1

나는 5.3에서 5.4로 업그레이드했다. 지금 얻을 반사 예외 클래스 eloquent.saving : App \ model_name이 존재하지 않습니다.. 다른 모든 것들이 잘 보이고 잘 작동합니다. 나는 그것을 쿼리 할 수 ​​있고, 그것을 검색 할 수 있으며, Vue 브라우징에 그것을 디스플레이 할 수있다 - 단지 절약 부분이 적합을 던지고있다. 그리고 그것은 모든 모델과 각각의 컨트롤러에서 발생합니다. 간단한 모델Laravel 5.3 -> 5.4 반사 예외

예 :

모델

namespace App; 
use Illuminate\Database\Eloquent\Model; 

class Bank extends Model 
{ 
    protected $guarded = ['id']; 
} 

컨트롤러

namespace App\Http\Controllers; 

use App; 
use App\Bank; 
use Illuminate\Http\Request; 

class TestController extends Controller 
{ 

    public function test1(Request $request) { 

    /** @var \App\Bank $bank */ 
    // get record 
    $bank = Bank::first(); 
    // change data 
    $bank->bic = "xxx"; 
    // dump it - looks ok 
    dump($bank); 
    // this throws reflection error 
    $bank->save(); 

    } 
} 

없음 사용자 지정 코드가 변경되지 않았습니다. 업그레이드 만 (업그레이드 가이드 + 팅커에서 적용 가능한 변경 사항이 추가됨). 나는 캐시를 지우고, 컴파일 된보기를 지우고, 최적화를 완료하고, dump-autoload ... 작업을 완료했습니다. 이것은 5.5라는 단계의 중간 단계입니다. 그러나 5.5로 직접 업그레이드해도 마찬가지입니다. 실마리가 어디에서 시작해야하는지 알지 못합니다.

업데이트 :

새 개체를 만들면 Carbon 예외가 발생합니다. 모델에서 $ timestamps = false를 설정하면 Carbon 오류가 제거되고 새 모델을 만들어 저장할 수 있습니다. 그러나 동일한 레코드를 찾아 저장하려고하면 다시 반사 예외가 발생합니다.

난 다시 5.3로 다운 그레이드 할 경우

업데이트, 모든 작업을 즉시 시작합니다.

+1

새 항목을 만들거나 같은 오류가 발생할 수 있습니까? – kerrin

+1

모델이 App 폴더의 루트에 있습니까? '네임 스페이스 App, ' – kerrin

+0

@kerrin. 예, 모델이 정확한 위치에 있습니다. 두 번째 댓글에 ... 우리는 어딘가에 있습니다. 나는 실제로 하나를 만들려고하지 않았습니다. 새 Bank()를 수행하려고하면 Carbon error가 발생합니다. DateTime :: __ construct() : 위치 0 (<)에서 시간 문자열 ( Corwin

답변

1

EventServiceProvider에서 "eloquent.saving"을 청취 한 이벤트가 있었으며 완전히 잊어 버렸습니다. 5.4에서 이벤트가 처리되는 방식이 변경되었습니다 (Laracast Talinon을 통해)