Плагин OctoberCMS Builder, загрузка файла и сохранение в базе данных
Я новичок вOctoberCMS и я пытаюсь создать один плагин, используяплагин для строителей сам, которыйOctoberCMS обеспечиваетПлагин OctoberCMS Builder называется что-то вродеСоциальные ссылки"все работает нормально, ожидаю, что я не могу понять логику загрузки файла в любой каталог и сохранения этого имени в определенном поле таблицы базы данных. Имя поля моей таблицы -"social_logo"в котором я пытаюсь сохранить имя файла, который будет загружен.
Я могу загрузить файл в каталог по умолчанию в зависимости от того, чтоOctoberCMS Генерация с файлом, который я загружаю. Но дело в том, что я не могу сохранить это конкретное имя файла в поле таблицы моей базы данных.
Может ли кто-нибудь направить меня, что я должен сделать, чтобы достичь этого?
Вот мой файл модели, что я сделал до сих пор.
SocialLinks.php
<?php namespace Technobrave\SocialLinks\Models;
use Model;
/**
* Model
*/
class Sociallink extends Model
{
use \October\Rain\Database\Traits\Validation;
/*
* Validation
*/
public $rules = [
];
/*
* Disable timestamps by default.
* Remove this line if timestamps are defined in the database table.
*/
public $timestamps = false;
/**
* @var string The database table used by the model.
*/
public $table = 'technobrave_sociallinks_';
public $attachOne = [
'social_logo' => 'System\Models\File'
];
}
Fields.yaml
fields:
social_logo:
label: 'technobrave.sociallinks::lang.Sociallink.social_logo'
span: auto
oc.commentPosition: ''
mode: file
useCaption: true
thumbOptions:
mode: crop
extension: auto
type: fileupload
columns.yaml
columns:
social_logo:
label: 'technobrave.sociallinks::lang.Sociallink.social_logo'
type: text
searchable: true
sortable: true
Как вы можете видеть из приведенного выше кода, на данный момент у меня есть только 1 поле, потому что у меня проблемы с этим конкретным полем только при загрузке изображения, я хочу сохранить это имя файла. Все остальные атрибуты формы, работающие для меня, такие как text, textarea и т. Д., Так что пока я только пытаюсь достичь этой цели с помощью одного поля.
Кто-нибудь может подсказать мне, что я должен сделать, чтобы решить эту проблему?
Спасибо