$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();
}