laravel controller синтаксис ,

115
28 ноября 2020, 13:10

как правильно написать что при каждом цикле получить последовательную цифру типа

$store->img_1 
$store->img_2 
$store->img_3 
 $store = new Store();
 foreach($files as $key => $file){
                $filename = $file->getClientOriginalName(); 
                $img = $filename = md5($file->getClientOriginalName() . time()) . "." . $file->getClientOriginalExtension(); 
                $extension = $file->getClientOriginalExtension(); 
                $check=in_array($extension,$allowedfileExtension); 
                if($check){ 
                    $key++;
                    $file->move('img', $img);
                    $store->img_.$key = $img;
                    echo "Upload Successfully";
                }

            }
Answer 1

Попробуйте следующее:

$imageField = 'img_' . $key;
$store->$imageField;

А какова конечная цель ?

Вы могли бы полученный массив с файлами сериализовать в json и хранить значение в одном столбце, например, images. В момент , когда Вам нужно будет получить содержимое , достаточно попросту перевести json - строку в обычный ассоциативный массив , для этого используется функция json_decode с доп. параметром assoc в значении true.

Для удобства это можно реализовать с помощью мутаторов ( Eloquent: Mutators ) :

public function setImagesAttribute($images)
{
    if ($images) {
        $this->attributes['images'] = json_encode($images);
    }
}
public function getImagesAttribute()
{
    return json_decode($this->attributes['images'], true);
}
READ ALSO
Как создать генератор токена из данных по определённому шаблону

Как создать генератор токена из данных по определённому шаблону

Есть входные данные типа логин, пароль и тд

123
Поиск в базе данных PHP

Поиск в базе данных PHP

В БД есть такая таблица… Не получается реализовать поиск по таблице

117
Как показывать на странице по времени разные div

Как показывать на странице по времени разные div

Искал давно способ как показывать на странице в одном div через определенное время, рекламу Google ? Скажем есть код рекламы

121