
Я использую последнюю версию laravel, используя пользовательскую панель администратора, и я новичок в разработке laravel, так что это своего рода вопрос новичка, я пытаюсь загрузить изображение в форму, все остальные поля в форме рекламы работает нормально, за исключением поля загрузки изображений, он дает мне синтаксическую ошибку, хотя я использовал тот же код для формы сообщений, и он работает просто отлично
форма загружает изображение в папку загрузки, затем сохраняет его идентификатор и URL в базе данных-> таблица мультимедиа, а затем помещает этот же идентификатор в таблицу -> ads в столбце изображений
вот исходный код HTML-формы
<div class="col-sm-12">
<label>Name - English</label>
<div class="form-group">
<input type="text" name="name_en" value="" class="form-control">
<i class="form-group__bar"></i>
</div>
</div>
<div class="col-sm-12">
<div class="form-group">
<label>Description - English</label>
<textarea class="wysiwyg-editor" name="description_en"></textarea>
</div>
</div>
<div class="col-sm-12 margin-bottom-30">
<label>Media - English</label>
<div class="row lightbox photos margin-bottom-30 media_sort" data-link="https://****/admin/ads/6/mediasort" data-language="en">
</div>
<div class="form-group color-picker">
<input type="file" class="form-control " name="media_en[]" accept=".jpg,.png,.jpeg,.webm,.mp4" multiple>
<i class="form-group__bar"></i>
</div>
</div>
<div class="col-sm-12">
<label>Name - Spanish</label>
<div class="form-group">
<input type="text" name="name_sp" value="" class="form-control">
<i class="form-group__bar"></i>
</div>
</div>
<div class="col-sm-12">
<div class="form-group">
<label>Description - Spanish</label>
<textarea class="wysiwyg-editor" name="description_sp"></textarea>
</div>
</div>
<div class="col-sm-12 margin-bottom-30">
<label>Media - Spanish</label>
<div class="row lightbox photos margin-bottom-30 media_sort" data-link="https://*****/admin/ads/6/mediasort" data-language="sp">
</div>
<div class="form-group color-picker">
<input type="file" class="form-control " name="media_sp[]" accept=".jpg,.png,.jpeg,.webm,.mp4" multiple>
<i class="form-group__bar"></i>
</div>
</div>
Вот adservice.php, начиная со строки 81
foreach ($active_languages as $language) {
$ad->translate($language->code)->name = $request['name_' . $language->code] ? $request['name_' . $language->code] : $request['name_en'];
$ad->translate($language->code)->description = $request['description_' . $language->code];
$ad->translate($language->code)->excerpt = $request['excerpt_' . $language->code];
$media_key = null;
if ($request->hasFile('media_' . $language->code)) {
$media_key = 'media_' . $language->code;
}
if ($media_key) {
$media = $this->mediaService->upload($request, $media_key);
if (count($media)) {
$media_array = [];
foreach ($media as $m) {
$m->authorable_type = \get_class(Auth::user());
$m->authorable_id = Auth::user()->id;
$m->save();
$media_array[] = $m->id;
}
$old_images = (array) (\json_decode($ad->translate($language->code)->images, true));
$media_array = \array_merge($old_images, $media_array);
$ad->translate($language->code)->images = \json_encode($media_array);
}
} else {
if (!empty($request['images_' . $language->code])) {
$media_key = ('images_' . $language->code);
}
if ($media_key) {
$ad->translate($language->code)->images = \json_encode(explode(',', $request[$media_key]));
}
}
}