$record->logo = $record->logo;
Может вызвать ошибку, если не установлен $ record-> logo. По крайней мере, вы должны сказать:
$record->logo = '';
, но лучше всего использовать Validation::factory($_FILES)->check()
if ( $logo->check() ) {
// do your insert here
}
Это всего лишь фрагмент от того, когда мне в последний раз удавалось это:
$logo = Validation::factory($_FILES);
$logo->rule('logo', 'Upload::not_empty')->rule('logo', 'Upload::type', array(':value', array('jpg', 'png', 'gif')));
if ( $logo->check() ) {
$logo = Upload::save($_FILES['logo'], NULL, 'assets/uploads/logo');
$image = ORM::factory('image')->where('id', '=', $id)->where('type', '=', 'logo')->find();
$path = explode('/', $logo);
$path = end($path);
$image->path = 'assets/uploads/logo/' . $path;
$image->playlist_id = $id;
$image->type = 'logo';
$image->save();
}