Как перебрать массив и сохранить его значения в Laravel - PullRequest
2 голосов
/ 27 сентября 2019

У меня есть следующий массив:

$catprefs = $request['catpref'];

Vardump:

array(5) { [0]=> string(1) "1" [1]=> string(2) "11" [2]=> string(1) "2" [3]=> string(1) "3" [4]=> string(1) "4" }

Мне нужно зациклить этот массив и сохранить каждое из значений в новой строке следующим образом:

foreach ($catprefs as $save_catp) {
      $save_catp = new Cpref();
      $save_catp->user_id = $user_id;
      $save_catp->qatype = ????? ; // need to put the array value here
      $save_catp->type = 1;

      $save_catp->save();
}    

Как сохранить каждое значение массива в указанной выше вставке?

Ответы [ 4 ]

2 голосов
/ 27 сентября 2019

Вы также можете использовать массовую вставку, как показано ниже:

$data = [];
foreach($catprefs as $key => $val){
  $data[] =[
    'user_id' => $user_id,
    'qatype' => $val,
    'type' => 1
   ]
}

Cpref::insert($data);
2 голосов
/ 27 сентября 2019
if(!empty($catprefs))
{
 foreach($catprefs as $key => $row)
 {
   $save_catp = new Cpref();
   $save_catp->user_id = $user_id;
   $save_catp->qatype = $row ; // need to put the array value here
   $save_catp->type = 1;
   $save_catp->save();
 } 
}
2 голосов
/ 27 сентября 2019

Попробуйте это.

foreach($catprefs as $save_catp){

      $cpref= new Cpref();
      $cpref->user_id = $user_id;
      $cpref->qatype = $save_catp; // need to put the array value here
      $cpref->type = 1;
      $cpref->save();

}

Если вы используете $key => $value

foreach($catprefs as $key => $value){

      $cpref= new Cpref();
      $cpref->user_id = $user_id;
      $cpref->qatype = $value; // need to put the array value here
      $cpref->type = 1;
      $cpref->save();

}
1 голос
/ 27 сентября 2019
foreach($catprefs as $save_catp){
$save_catp = new Cpref();

вы используете $save_catp для цикла и объекта Cpref, вам нужно изменить одну из переменных.

if(!empty($catprefs)){
  foreach($catprefs as $key => $val){

  $save_catp = new Cpref();
  $save_catp->user_id = $user_id;
  $save_catp->qatype = $val; // array value goes here
  $save_catp->type = 1;


  $save_catp->save();

 } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...