搜索
系统检测到您的用户名不符合规范:

用THINKPHP做站群系统遇见的一个BUG

浏览:1488 发布日期:2017年09月04日 分类:ThinkPHP5专区
公司需求设计一个站群系统,设计中每个表有一个sys_id字段用于判断每个网站的操作。
所以设计的时候使用了一个公共模型commonnamespace app\manage\model;
use think\Model;
class Common extends Model
{
public function __construct($data = []){
parent::__construct($data);
$this->where('sys_id='.session("_SYSID_"));
}

public function save($data = [], $where = [], $sequence = null){
$data['sys_id']=session("_SYSID_");
parent::save($data, $where, $sequence);
}
}
Article模型namespace app\manage\model;
use think\Model;
class Article extends Common
{
protected $verify = [
['title','require|unique:Article,title^category_id',"标题不能为空|标题已经存在"]
];
public function add($data){
$this->allowField(true);
return $this->validate($this->verify)->save($data);
}
执行验证的时候Validate.php文件842行编译的SQL结果是
( SELECT `id` FROM `dcit_article` WHERE ( sys_id=2 ) AND ( sys_id=2 ) AND `title` = 'dasfad'
AND `category_id` = 0 );
如果公共模型里面使用数组的方式传递如下
$this->where(array('sys_id'=>session("_SYSID_"))
则出现( SELECT `id` FROM `dcit_article` WHERE ( sys_id=[2,2] ) AND `title` = 'dasfad' 报错。希望thinkphp团队加以改善。
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
zhongks
积分:1197 等级:LV3
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /