标签:define eof ken sed cep protected upd previous col
1、SELECT * FROM `bota_language` WHERE `type` = ‘order_type‘;
id key value type
------ ------ --------- ------------
446 1 原单 order_type
447 2 改签单 order_type
448 3 退票单 order_type
449 6 退款单 order_type
2、SELECT `type`, GROUP_CONCAT(CONCAT_WS(‘->‘,`key`,`value`) ORDER BY `key` ASC SEPARATOR ‘||‘) FROM bota_language GROUP BY `type`;
order_type 1->原单||2->改签单||3->退票单||6->退款单
order_writeoff_status 1->审批中||2->已同意||3->已拒绝
3、ORM代码:
<?php defined(‘SYSPATH‘) OR die(‘No direct script access.‘);
class ORM extends Kohana_ORM {
/**
* Model configuration, table names plural?
* @var bool
*/
protected $_table_names_plural = FALSE;
/**
* Creates and returns a new model.
* Model name must be passed with its‘ original casing, e.g.
*
* $orm = ORM::factory(‘User_Token‘);
*
* @chainable
* @param string $orm Model name
* @param mixed $id Parameter for find()
* @return ORM
*/
public static function factory($orm, $id = NULL)
{
// Set class name
$orm = ‘ORM_‘.$orm;
return new $orm($id);
}
/**
* Updates or Creates the record depending on loaded()
*
* @author Kumchoy
* @since 20180712
* @final 20180712
*
* @chainable
* @param Validation $validation Validation object
* @return ORM
*/
public function save(Validation $validation = NULL)
{
try {
//keyword字段拼接
if (key_exists(‘keyword‘, $this->table_columns()) and
(!$this->get(‘keyword‘) or preg_match(‘/^(autokw||)/‘, $this->get(‘keyword‘)))) {
$comment = Arr::path($this->table_columns(), ‘keyword.comment‘);
$cols = explode(‘||‘, preg_replace(‘/^(.*,)/‘, ‘‘, $comment));
$database = Kohana::$config->load(‘database.‘ . Database::$default . ‘.connection.database‘);
$keyword = DB::select(DB::expr("CONCAT(
‘CONCAT(\‘autokw||\‘,‘,
REPLACE(
GROUP_CONCAT(
CONCAT(‘IFNULL(`‘,column_name,‘`,\‘\‘)‘) ORDER BY column_name SEPARATOR ‘||‘
)
,‘||‘,‘,\‘||\‘,‘)
,‘)‘) AS keyword"))
->from(DB::expr(‘information_schema.columns‘))
->where(‘table_schema‘, ‘=‘, $database)
->where(‘table_name‘, ‘=‘, $this->_db->table_prefix() . $this->table_name())
->where(‘column_name‘, ‘in‘, $cols)
->cached(null)
->execute()
->get(‘keyword‘);
if ($keyword) {
$this->set(‘keyword‘, DB::expr("{$keyword}"));
}
}
} catch (Exception $e) {
}
parent::save($validation);
if (isset($keyword)) {
$_saved = $this->saved();
$this->reload();
$this->_loaded = $this->_saved = $_saved;
}
return $this;
}
protected $_previous_values = NULL;//cache previous values
public function create(Validation $validation = NULL)
{
$this->_previous_values = $this->_original_values;
return parent::create($validation);
}
public function update(Validation $validation = NULL)
{
$this->_previous_values = $this->_original_values;
return parent::update($validation);
}
public function delete()
{
$this->_previous_values = $this->_original_values;
return parent::delete();
}
public function previous_values()
{
return $this->_previous_values;
}
}
4、keyword字段内容如:
autokw||上海浦东新区赵高公路1269号4楼||13455454556||老完||上海||上海广园客房部||7811920||||[{"userid":"\u5165\u4f4f","username2":"","mobile":"13455555555","idtype":"","userno":"","username":"\u5165\u4f4f","usertype":0,"_usertype":"\u6210\u4eba"}]||1||||老完
5、soyoung项目注意事项
标签:define eof ken sed cep protected upd previous col
原文地址:https://www.cnblogs.com/hnhycnlc888/p/11104650.html