mysql - YII 1.1 - 查询生成器:如何以 FETCH_KEY_PAIR 格式获取多个 IN 运算符记录
问题描述
我们在以 PDO 格式获取记录时遇到了一些问题。请参阅下面的示例代码:
$getCategories= Yii::app()->db->createCommand()
->select('id,category_name')
->from('content_categories')
->where('id IN (:id)', array(':id'=>$getContentList['content_category_value']))
//->where("id IN ({$getContentList['content_category_value']})")
->queryAll();
print_r($getCategories); exit;
输出:
Array
(
[0] => Array
(
[id] => 1525
[category_name] => TV
)
)
上面的查询$getContentList['content_category_value'])
返回1525,45
,但我们只得到一条记录。
当我们手动执行查询时:
SELECT * FROM `content_categories` WHERE `id` IN (1525,45);
它返回:
实际上我们有两个类别,但上面的查询只获取一个。您能否检查并帮助我了解我们如何使用 PDO 概念显示多个记录获取。
解决方案
未经测试,但您可以像这样尝试,
$getCategories= Yii::app()->db-
>createCommand()
->select('id,category_name')
->from('content_categories')
->where(array('in', 'id',
$getContentList['content_category_value']))
->queryAll();
print_r($getCategories); exit;
推荐阅读
- c++ - 元素如何存储在二维数组中?
- visual-studio-2019 - Visual Studio 代码分析器给出无意义的警告
- angular - Angular 应用程序的子组件中没有 NgControl 提供程序
- linux - VSCode 在 Linux 中使用哪个字体文件夹?
- python - Twisted - 将结果传递给多个回调
- python - 使用SQL查询作为数据源摆脱python中的多个html标签
- javascript - Discord.js 让你的机器人等待回复
- vmware-clarity - Clarity Datagrid & Promise / 主题绑定栏
- php - 尝试从命名空间“App\DataFixtures”加载类“BaseFixture”。您是否忘记了另一个名称空间的“使用”语句?
- tensorflow - 如何使用 Tensorflow 2.0 获得可重现的结果?