Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Как-то так можно попробовать:
$array_images[] = $collection->where('photo_symbol_id', $id)->first()->pluck('photo_src', 'photo_id', 'photo_symbol_id')->toArray();
Потом сделать flatten(), при необходимости.
Или просто:
$row = $collection->where('photo_symbol_id', $id)->first();
$array_images[] = [
'photo_id' => $row->photo_id,
'photo_src' => $row->photo_src,
'photo_symbol_id' => $row->photo_symbol_id,
];
Изменено AlexeyMezenin (30.11.2016 19:18:46)
Не в сети
у меня как-то так получилось
foreach ($array_symbols_id as $id) {
$array_images[] = $collection->where('photo_symbol_id', $id)->random();
}
а теперь когда пытаюсь разложить массив
$i = 0;
foreach($images as $img){
$name_to_save = str_replace("/img/", "", $img->photo_src);
$path_to_img = $main_path.$img->photo_src;
$path_to_save_img = $save_path.$name_to_save;
$image = Image::make($path_to_img);
$image->resize($width,$height);
$image->save($path_to_save_img);
$temp_images[$img->photo_symbol_id.$i] = "/temp_img/".$name_to_save;
$temp_images[$img->photo_symbol_id.$i]['photo_id'] = $img->photo_id;
$i++;
}
ловлю ошибку в строке
$temp_images[$img->photo_symbol_id.$i]['photo_id'] = $img->photo_id;
Illegal string offset 'photo_id'
с чем это может быть связано?
Не в сети
$temp_images[$img->photo_symbol_id.$i] = "/temp_img/".$name_to_save; $temp_images[$img->photo_symbol_id.$i]['photo_id'] = $img->photo_id; $i++; }
с чем это может быть связано?
Не смущает, что $temp_images[$img->photo_symbol_id.$i] - это строка, а ты пытаешься обратиться к ней по индексу $temp_images[$img->photo_symbol_id.$i]['photo_id'] да ещё и присвоить туда что-то?
ты сделал примерно так
$string = "hello laravel.ru";
$string['super_index'] = 123;
Так нельзя.
Не в сети
Попробуй так
$i = 0;
foreach($images as $img){
$name_to_save = str_replace("/img/", "", $img->photo_src);
$path_to_img = $main_path.$img->photo_src;
$path_to_save_img = $save_path.$name_to_save;
$image = Image::make($path_to_img);
$image->resize($width,$height);
$image->save($path_to_save_img);
$temp_images[$img->photo_symbol_id.$i] =[
'path' => "/temp_img/".$name_to_save,
'photo_id' => $img->photo_id
]
$i++;
}
Не в сети
respectpick пишет:$temp_images[$img->photo_symbol_id.$i] = "/temp_img/".$name_to_save; $temp_images[$img->photo_symbol_id.$i]['photo_id'] = $img->photo_id; $i++; }
с чем это может быть связано?
Не смущает, что $temp_images[$img->photo_symbol_id.$i] - это строка, а ты пытаешься обратиться к ней по индексу $temp_images[$img->photo_symbol_id.$i]['photo_id'] да ещё и присвоить туда что-то?
ты сделал примерно так
$string = "hello laravel.ru";
$string['super_index'] = 123;Так нельзя.
точно. благодарю
Не в сети