2016-09-06 10 views
0

나는 다음과 같은 모델을 가지고 : Laravel 5.1 대량 할당 업데이트시 무시되는 채우기 가능한 속성?

class User { 

    public function recruiter() 
    { 
     return $this->hasOne('App\Recruiter'); 
    } 

} 

class Recruiter extends Model { 

    public function jobs() 
    { 
     return $this->hasMany('App\Job'); 
    } 

} 

class Job extends Model { 

    protected $fillable = [ 
     'job_type_id', 
     'recruiter_id', 
     'start_at', 
     'end_at', 
     'job_title', 
     'job_ref', 
     'job_desc' 

    ]; 

    // other stuff 
} 

나는 예상대로 방법을 작업 모델 작업에 작성 가능한 속성을 만들 다음 전화

.

업데이트 방법을 호출하면 채우기 가능한 속성이 무시되고 대량 할당 취약점이 생깁니다.

Auth::user()->recruiter->jobs()->update($request->all()); 

왜 이런 일이 발생합니까?

+0

'$ request-> all()'을 var_dump() 해 보았습니까? 그렇다면 무엇이 반환됩니까? – Robin

답변

0

작업의 id을 전달해야하기 때문에 (Laravel dosen은 업데이트 할 항목을 알지 못합니다.) 그래서 fillable 어레이에 추가되었습니다.

class Job extends Model { 

    protected $fillable = [ 
     'id', 
     'job_type_id', 
     'recruiter_id', 
     'start_at', 
     'end_at', 
     'job_title', 
     'job_ref', 
     'job_desc' 

    ]; 

    // other stuff 
}