라라벨, laravel 로 샘플 만들어 보자. (3) - model, seeder

model 파일 수정

app\SimpleComment.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Facades\Hash;


class SimpleComment extends Model
{
use SoftDeletes;
protected $primaryKey ='sc_id'; //없을 경우 id 가 기본값
protected $dates = ['deleted_at'];
protected $fillable=['sc_name','sc_comment',];
//-- 자동 암호화
public function setScPassAttribute($value)
{
// $this->attributes['sc_pass'] = \Crypt::encrypt($value); //양방향 암호화
$this->attributes['sc_pass'] = self::hash($vaule); //해쉬
}
// public function getScPassAttribute($value)
// {
// return \Crypt::decrypt($value); //양방향 복호화
// }
public static function hash($v){
return Hash::make($v);
}
public function checkScPass($v){
return Hash::check($v, $this->attributes['sc_pass']);
}
public static function lists(){
return self::orderBy('sc_id','desc')->get();
}
}



seeder 생성

$ php artisan make:seeder SimpleCommentSeeder
Seeder created successfully.
database\seeds\SimpleCommentSeeder.php
<?php

use Illuminate\Database\Seeder;

class SimpleCommentSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
      $sc = new App\SimpleComment();
      for($i=0,$m=20;$i<$m;$i++){
        $t = str_repeat(rand(0,9), 4);
        $sc->create([
          // 'sc_id'=>null,
          'sc_name'=>$t,
          'sc_pass'=>$t,
          'sc_comment'=>md5(rand(1,9))." ".md5(rand(1,9)),
        ]);
      }
    }
}
database\seeds\DatabaseSeeder.php
<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
  /**
  * Seed the application's database.
  *
  * @return void
  */
  public function run()
  {
    // $this->call(UsersTableSeeder::class);
    $this->call(SimpleCommentSeeder::class); //<-- 추가
  }
}

$ php artisan db:seed
Seeding: SimpleCommentSeeder
Database seeding completed successfully.


SELECT COUNT(*) FROM `simple_comments`;
=>
count(*)  
----------
        20

SELECT * FROM `simple_comments` ORDER BY sc_id DESC  LIMIT 3;
=>
 sc_id  sc_name  sc_pass                                                       sc_comment                                                                  created_at           updated_at  deleted_at  remember_token  
------  -------  ------------------------------------------------------------  -----------------------------------------------------------------  -------------------  -------------------  ----------  ----------------
    20  7777     $2y$10$FyKTT.7oaPEAFpgMJyGU5egWz8IBhIrWE/AqfMPkuNMuhOjh2qFM.  eccbc87e4b5ce2fe28308fd9f2a7baf3 c81e728d9d4c2f636f067f89cc14862c  2019-01-09 06:48:20  2019-01-09 06:48:20      (NULL)  (NULL)          
    19  4444     $2y$10$avpMbRS/cBxnxupZR7iIrOU3nz3PTWaESJyeHICCh8ZXy49s/IrHS  c4ca4238a0b923820dcc509a6f75849b 45c48cce2e2d7fbdea1afc51c7c6ad26  2019-01-09 06:48:20  2019-01-09 06:48:20      (NULL)  (NULL)          
    18  7777     $2y$10$cyva/pIVnpKe/Uu6qYM0teo9tuIQ6WEFbHpu9wZXMZ5uB41866tea  8f14e45fceea167a5a36dedd4bea2543 45c48cce2e2d7fbdea1afc51c7c6ad26  2019-01-09 06:48:20  2019-01-09 06:48:20      (NULL)  (NULL)          
                                                                                                                                                                                                                        


$ php artisan make:controller WebSimpleCommentController
Controller created successfully.

댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
2.25
2.27
2.28
3.1
3.2
3.3
3.4
3.5
3.7
3.9
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21
3.22
3.23
3.24
3.25
3.27
3.28
3.29
3.30
3.31
4.1
4.2
4.3
4.4
4.5
4.6