0

这会导致此错误...

操作数应包含 1 列 [ UPDATE recordSET logo= ('', '', '', 4, 0) WHERE id= '0' ]

if ($_FILES['logo']['name'] == '') {
    $record->logo = $record->logo;
}
else{
    // INSERTION WORKS FINE
}

如果这有所作为,我也在使用 Formo 模块......

有没有办法完全从插入脚本中踢出徽标等等......因为$record->logo = $record->logo会导致失败?

4

1 回答 1

0
$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();
    }
于 2011-08-01T20:36:28.497 回答