2015-12-06 36 views
2

我想將扇區ID添加到請求中,但是當我提交數據時沒有任何存儲。 這裏是我的代碼

public function store(QuestionRequest $request) 
    { 
     $data = $request->all(); 
     Question::create($data); 
     $sectors = Sector::lists('id'); 
     foreach($sectors as $sector){ 
      CustomizeQuestion::create(array_add($request->all(), 'sector_id', $sector)); 
     } 

     flash()->success('New question has been added.'); 
     return redirect('questions'); 
    } 

我已經試過這個代碼也卻是相同的:

public function store(QuestionRequest $request) 
    { 
     $data = $request->all(); 
     Question::create($data); 
     $sectors = Sector::lists('id'); 
     foreach($sectors as $sector){ 
      $data['sector_id'] = $sector; 
      CustomizeQuestion::create($data); 
     } 

     flash()->success('New question has been added.'); 
     return redirect('questions'); 
    } 
+0

您的代碼適用於我。嘗試執行dd($ sector,array_add($ request-> all(),'sector_id',$ sector));並粘貼結果 –

+0

你會添加Model CustomizeQuestion嗎? –

回答

1

首先檢查你的CustomizeQuestion模型。 sector_id應該在$fillable數組中。例如:

protected $fillable = [ 
    'sector_id', 
    'more', 
    'and_more' 
]; 

而且如果只有一個idstore方法無需使用foreach或者列出你id的形式回報。只需執行以下操作:

$data['sector_id'] = $request['id']; 
CustomizeQuestion::create($data); 
2

如果你只想要一個「身份證」添加到您的請求,如你所說,你可以簡單地做這個創造任何事情之前:

$data = $request->all(); 
$data['sector_id'] = whatever you want; 
Question::create($data); 

或者像第二種方法你表現。

如果,如果你有模型的可填寫的數組中指定的屬性,如果你使用的是正確的屬性名作爲您在指定遷移這種方法是行不通的驗證。