thinkphp3.2.3 无法调用带下划线的模型

ThinkPHP 3.2.3 复杂表关联查询实践
本文详细介绍了在ThinkPHP 3.2.3框架中,如何处理带有下划线的复杂表名,并通过实例演示了如何进行模型类的命名及使用,以及如何实现跨表的查询操作。
thinkphp 3.2.3

如果表名中带有下划线,在分割的时候命名模型类,首字母大写,例如:order_customer_bom 为表名 .模型名为OrderCustomerBomModel
引用的时候D('OrderCustomerBom') 即可调用.




php 控制器代码如下
public function getAsinLinkPrAjax()
{
$_POST['asin']=1;
$map['order_customer.asin']=$_POST['asin'];

D('OrderCustomerBom')->getAsinBomlist(123);

$u=new \Home\Model\Order_customer_bomModel();
$list=$u->getAsinBomlist();
$this->ajaxReturn($list);
}

模型代码如下


class OrderCustomerBomModel extends Model
{

//查询asin下的产品清单
public function getAsinBomlist($asin)
{
$map['order_customer_bom.asin']=$asin;
$map['order_customer_bom.status']=1;
$list=M('order_customer_bom')
->field('
pid,
namezh,
nameus,
thumb,
shortname

')
->where($map)
->join('LEFT JOIN product ON order_customer_bom.pid = product.id')
->select();
}
}




真是表明如下

CREATE TABLE `order_customer_bom` (
  `id` int(11) NOT NULL,
  `asin` char(32) COLLATE utf8mb4_bin NOT NULL COMMENT 'asin',
  `type` int(8) DEFAULT NULL COMMENT '类型, 类型1 为销售订单.',
  `number` int(8) DEFAULT NULL COMMENT '数量',
  `pid` int(11) DEFAULT NULL COMMENT '产品id',
  `price` int(11) DEFAULT NULL COMMENT '单价',
  `status` int(3) DEFAULT NULL COMMENT '状态 1.生效,0初始化.2删除',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='销售清单表';
 

转载于:https://www.cnblogs.com/fengxiaoyao/p/9908858.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值