Как получить несколько изображений, которые сохраняются в одной ячейке таблицы базы данных в Laravel

Просто отрегулируйте ширину:

ggplot(df, aes(x=timepoint, y=mean, fill=group)) +
  geom_bar(position=position_dodge(0.9), colour="black", stat="identity", width=0.9, , binwidth=0) +
  geom_errorbar(position=position_dodge(0.9), width=0.85, aes(ymin=mean, ymax=mean+sem)) +
  theme_bw() 

enter image description here [/g0]

0
задан Arun 17 February 2019 в 17:12
поделиться

2 ответа

Я бы изменил вашу структуру данных, чтобы было проще хранить и извлекать ваши изображения из вашей базы данных.

Вы можете использовать столбец json и использовать Mutators для приведения изображений в обычный массив php. https://laravel.com/docs/5.7/eloquent-mutators#array-and-json-casting. .

Таким образом, вы можете просто перебирать массив и отображать каждое изображение.

0
ответ дан Thijs Bouwes 17 February 2019 в 17:12
поделиться

Также, если вы сохраняете данные в одном поле, разделенном двоеточием, вы можете сделать (учитывая, что имя вашего столбца - images):

$model = ModelName::first();
$images = explode(';', $model->images); //  This fives image1;image2;image3 etc
$images = array_filter(array_map('trim', $images));
// This will give you array ['image1','image2','image3'}

Однако, это не очень хороший подход, так как каждый время, когда вам нужно взорвать его, если вы хотите получить полезные данные.

Вместо этого вы можете указать этот столбец в protected $casts = ['images' => 'array']

Затем, когда вы сделаете $model->images, он непосредственно даст вам массив путей изображения вместо одной строки, разделенной разделителем. См. документацию для получения дополнительной помощи.

0
ответ дан Mihir Bhende 17 February 2019 в 17:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: