대량 할당은 지정된 모델에 한 번에 저장 될 데이터 배열을 보내는 프로세스입니다. 일반적으로 데이터를 모델별로 하나씩 저장하지 않아도 단일 프로세스로 저장할 필요가 있습니다.
대량 할당은 좋지만 특정 보안 문제가 있습니다. 누군가가 모델에 값을 전달하고 보호하지 않으면 ID를 포함한 모든 필드를 확실히 수정할 수 있습니다. 그 좋지 않다.
하자 당신은 필드, '학생'테이블이 있다고 가정 해 "student_type, FIRST_NAME, LAST_NAME" 당신은 대량 할당 "FIRST_NAME, LAST_NAME"을 할 수 있습니다.하지만 당신은 보호 할 student_type 직접 변경되는.의 그 어디에서 채울 수 및 보호 포획 장소.
채울 수 있음을 사용하면 모델에서 어떤 필드를 대량 할당 할 수 있는지 지정할 수 있습니다 $fillable
. 모델에 특수 변수 를 추가하면 됩니다. 따라서 모델에서 :
class Student extends Model {
protected $fillable = ['first_name', 'last_name']; //only the field names inside the array can be mass-assign
}
' student_type '은 포함되지 않으므로 면제됩니다.
보호는 채울 수있는 것과 반대입니다. 채울 수있는 필드에 대량 할당 할 필드를 지정하면 guarded는 대량 할당 할 수없는 필드를 지정합니다. 따라서 모델에서 :
class Student extends Model {
protected $guarded = ['student_type']; //the field name inside the array is not mass-assignable
}
$ fillable 또는 $ guarded 중 하나만 사용해야합니다.
자세한 내용은 다음 링크를 참조하십시오 :- 대량 할당