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

TP查询不支持SQLSERVER的中文类型参数nvarchar吗

浏览:730 发布日期:2015年08月22日 分类:求助交流
Onethink中获取分组菜单,分组是中文名,改用SqlServer数据库后,如何查询出相应的菜单名,下面参数$g是中文

// 按照分组生成子菜单树
foreach ($groups as $g) {
$map = array('group'=> $g);
if(isset($to_check_urls)){
if(empty($to_check_urls)){
// 没有任何权限
continue;
}else{
$map['url'] = array('in', $to_check_urls);
}
}
$map['pid'] = $item['id'];
$map['hide'] = 0;
if(!C('DEVELOP_MODE')){ // 是否开发者模式
$map['is_dev'] = 0;
}

// p($map);die;
$menuList = M('Menu')->where($map)->field('id,pid,title,url,tip,sort')->order('sort asc')->select();
p(M()->getlastsql());

打印出来后的语句
SELECT T1.* FROM (SELECT thinkphp.*, ROW_NUMBER() OVER ( ORDER BY sort asc) AS ROW_NUMBER FROM (SELECT [id],[pid],[title],[url],[tip],[sort] FROM [onethink_menu] WHERE [group] = '数据备份' AND [pid] = 68 AND [hide] = 0 AND [is_dev] = 0 ) AS thinkphp) AS T1

正常SQLSERVER里面中文nvarchar类型,要加个大写的N

SELECT T1.* FROM (SELECT thinkphp.*, ROW_NUMBER() OVER ( ORDER BY sort asc) AS ROW_NUMBER FROM (SELECT [id],[pid],[title],[url],[tip],[sort] FROM [onethink_menu] WHERE [group] = N'数据备份' AND [pid] = 68 AND [hide] = 0 AND [is_dev] = 0 ) AS thinkphp) AS T1
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
撒旦の羽翼
积分:1685 等级:LV3
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

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

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