질문을 삭제하지 말아주세요.!
 
1
0
-1
안녕하세요. 라라벨을 이용해서 지금 프로젝트를 하나 만들려고 합니다. 라라벨 초기 입문자 이구요.. 궁금한게 깃허브나 이런데서 만들어진 프로젝트 보고 회원가입을 만들려고 하는데요. 궁금한게 회원가입시 insert문을 제가 만들지 않았는데 자동으로 insert문이 실행되더라구요. /register 일루 submit하고 web.php 에서는 Route::post('register', 'Auth\AuthController@register'); 이렇게 해주었는데요 제가 db에는 제 나름대로 만들었는데 쿼리 에러로 updated_at 컬럼이 없다고 하는데요.. 필수 조건인지 궁금합니다.
    CommentAdd your comment...

    2 answers

    1.  
      1
      0
      -1

      라라벨의 eloquent orm은 테이블마다 create_at, updated_at 컬럼이 있다고 가정합니다.


      사용하지 않게 하려면 모델 클래스에 다음 설정을 추가해 주면 됩니다.

      class User {

      public $timestamps = false;

      자세한 내용은 매뉴얼(https://laravel.kr/docs/5.5/eloquent#defining-models) 을 참고하세요

        CommentAdd your comment...
      1.  
        1
        0
        -1

        timestamp 타입의 created_at 이나 updated_at 필드가 있어야 합니다.

        ORM를 쓰신다면 자동으로 해당 필드에 저장됩니다.

        참, User모델은 remember_token필드도 있어야 합니다. (로그인유지관련)

        DB Scheme를 올려드리니 참고하세요.

        User Table
        CREATE TABLE `_users` (
          `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
          `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
          `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
          `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
          `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
          `remember_token` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
          `created_at` timestamp NULL DEFAULT NULL,
          `updated_at` timestamp NULL DEFAULT NULL,
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
          CommentAdd your comment...