Confluence 에 심각한 보안 취약점이 발견되었으니 사용자분들은 업그레이드 하세요.!
 
1
0
-1

라라벨로 배우는 실전php 웹 프로그래밍 책을 보면서 예제 따라가는 중인데 저는 5.8버전으로 하고 있습니다.

엘로퀀트 ORM 파트에서

create_articles_table.php에 예제 코드를 넣어도 마이그레이션 오류가 나와서 어찌저찌 해결?했지만

그 다음 예제인 관계 확인에서도 App\User::find(1)->articles()->create([ ... ]);을 팅커콘솔에 입력하면 

PHP Error: Call to a member function articles() on null in Psy Shell code on line 1이란 오류가 나오면서 진행이 되질 않습니다.

어떻게 하면 해결할 수 있을까요?

    CommentAdd your comment...

    2 answers

    1.  
      1
      0
      -1

      오류메시지는 App\User::find(1) 까지가 null이란 의미입니다. 즉 DB에 1번 사용자가 없다는 뜻입니다.


      아래 그림을 보고 차근차근 다시 해보시겠어요?

      1. DCP

        라라벨을 다시 설치한 후에 책에서의 사용자인증부터 다시 예제를 따라간 후에 위에 알려주신대로 했더니 정상적으로 출력 되었습니다. 

        해결해 주셔서 정말 감사합니다.


        오류 나기전에도 사용자 인증파트를 거치고 왔는데 그 땐 왜 오류가 난 건지 미스터리 한거 같습니다.

      2. DCP

        오류가 날때마다 마이그레이션을 fresh 해서 사용자인증 때 만들어 두었던 john과 jane의 데이터가 사라진거였던거 같습니다.


        혹시 웹서비스를 하던 도중에는 마이그레이션을 fresh 할 때 연결되있는 데이터베이스가 모조리 사라지는 건가요? 그렇다면 한번 마이그레이션을 만들면 그 후에 건들면 안되는지 알고 싶습니다.

      CommentAdd your comment...
    2.  
      2
      1
      0

      migrate:fresh 는 로컬 컴퓨터에서 개발 중에만 사용합니다. 

        CommentAdd your comment...