Работа над новым проектом, который включает в себя преобразование видеофайлов из MPEG в WEBM. Моя проблема заключается в том, что в процессе преобразования я пытаюсь обновить свои свойства модели Video
, но по какой-то причине я не могу изменить некоторые свойства.Laravel 5.2 Свойства модели не меняются
Например, я могу модифицировать name
модели видео, но я не могу Изменять streampath
или converted
полей
class Video extends Model
{
//
public $streampath;
public $converted;
protected $fillable = ['streampath', 'converted'];
/**
* Video constructor.
* @param array $path
*/
public function __construct($path=null)
{
parent::__construct();
if($path) {
$this->path = $path;
}
}
....
Вот метод преобразования:
public function convert() {
$uniqueId = $this->id;
$tempPath = $this->path;
$outputFileName = Carbon::now()->format('Ymdhis') . '.webm';
$outputPath = 'videos/' . $outputFileName;
$this->setConverted(ConvertStatusEnum::CONVERTING);
// Run the converter
$this->name = 'MY NEW TEST';
$this->setStreampath($outputFileName);
$this->setConverted(ConvertStatusEnum::CONVERTED);
Log::debug($this);
return $this;
}
И вот сетки для этих 2 свойств:
public function setStreampath($streampath)
{
$this->streampath = $streampath;
}
public function setConverted($converted)
{
$this->converted = $converted;
}
Любая помощь будет очень признана
Вы возвращение '$ this' в конце вашего' обращенного() 'метод, но вы на самом деле' сохранить() ' 'ИНГ модель? Кроме того, у вас есть два общедоступных свойства с именем '$ streampath' и' $ convert', почему они существуют? Если вы сохраните модель, эти изменения не будут отображаться в базе данных, так как их фактические свойства в самом классе. Массив '$ fillable' определяет только, может ли быть заполнен атрибут ** **, а не публичное свойство. Я бы настоятельно рекомендовал читать на моделях: https://laravel.com/docs/5.2/eloquent –
Я нахожусь в контроллере, но проблема не в том, что обновляемая база данных - когда я регистрирую модель, те поля не установлены –
@SteveBauman Удаление этих публичных свойств, похоже, сделало трюк - не помните, почему они были добавлены, должно быть, были ошибки. –