2017-09-17 7 views
0

Lumen (5.4)을 사용하여 첫 번째 단계를 수행하고 있으며 데이터 배열을 데이터베이스에 저장하려고합니다. 그래서, 난이 : 문제는, 웅변은 아이디, created_at 및 특성 updated_at 올바른 값으로 레코드를 생성한다Eloquent 빈 항목 만들기

use Illuminate\Database\Eloquent\Model as Model; 

class RatePlan extends Model { 

    protected $table = 'rate_plans'; 

    protected $dateFormat = 'Y-m-d H:i:s'; 

    protected $fillable = ['name', 'price']; 

    protected $guarded = []; 
} 

MySQL의 rate_plans 테이블

id PK AUTO_INCREMENT 
name VARCHAR(45) NOT_NULL 
slug VARCHAR(45) NOT_NULL 
price FLOAT(5,2) NOT_NULL 
created_at DATETIME NOT_NULL 
updated_at DATETIME NOT_NULL 

웅변 모델 . 하지만 이름, 슬러그는 비어 있으며 가격은 0.00입니다. 코드는 다음과 같습니다.

$data = ['name' => 'Test', price => 99.99]; 
$model = new \App\Models\RatePlan(); 
$model->fill($data); 
$model->slug = 'test'; 
$model->status = 'active'; 
$model->create(); 

아이디어가 있으십니까? Eloquent가 영속 null 값에서 실패하지 않는 이유는 무엇입니까?

답변

0

는 laravel에서 관련 모델 (source)

  • 생성을 만들기위한 두 가지 방법() 저장
  • ()

당신은 사용할 수 있습니다 중 그들 중 하나가 있습니다.

: 두 방법의 차이는 당신의 코드에서 link

을 참조하시기 바랍니다 중이

$data = ['name' => 'Test', price => 99.99]; 
$model = new \App\Models\RatePlan(); 
$model->fill($data); 
$model->slug = 'test'; 
$model->status = 'active'; 
$model->save(); 

처럼 변경 될 수 있습니다 또는 당신이 $data 배열에 slug 가치를 전달하고 다음과 같이 진행 할 수 보려면

$data = [name => 'Test', slug => 'test',price => 99.99]; 

$model = new \App\Models\RatePlan(); 
$model->create($data);