因此,我很高兴地查询我的假设数据库:
$query->select($db->quoteName(array('user_id', 'name')));
但是,我希望查询看起来像:
SELECT `user_id` AS `uid`, `name` AS `User-Name`
我该如何在其中获得AS?
我知道这个问题已有6个月了,所以您可能找到了答案或解决了这个问题,但对于其他有类似问题的人:
$query->select($db->quoteName(array('user_id','name'),array('uid','User-Name')));
如果只想对某些字段使用别名,只需在数组中为不需要别名的字段传递null
,例如:
$query->select($db->quoteName(array('user_id','name'),array(null,'User-Name')));
愿意给
"SELECT `user_id`, `name` AS `User-Name`"
尝试以下操作:
$query->select($db->quoteName('user_id') .' AS '. $db->quoteName('name') .' AS '. $db->quoteName('User-Name'));
请确保按照此处所述使用完整查询:
http://docs.joomla.org/Selecting_data_using_JDatabase
所以您的外观将如下所示:
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName('user_id') .' AS '. $db->quoteName('name') .' AS '. $db->quoteName('User-Name'));
$query->from($db->quoteName('#__tablename'));
$db->setQuery($query);
$results = $db->loadObjectList();
请注意,我尚未使用AS
测试此查询,所以请告诉我它是否有效
我有这个要工作:
->select($db->quoteName(array('user_id`' . ' AS ' . '`uid', 'name`' . ' AS ' . '`User-Name')))
最好使用Joomla! suggest us。
注意,将'a'作为第二个参数将生成
#__content
ASa
所以,您可能会有这样的事情:
$query
->select('*')
->from($db->quoteName('#__content', 'a'))
我的首选方式是:
我使用要选择的字段创建一个数组:
$fields = array(
'a.id' => 'id',
'a.field1' => 'field1',
'a.field2' => 'field2',
'a.field3' => 'field3',
'b.field1' => 'bfield1',
'b.field2' => 'bfield2',
);
这将有助于更好地控制和检查我想要的字段以及如何命名它们-并且更易于维护或更改,并且具有足够的可移植性,因为我只需要根据需要更改$fields
数组即可。
然后,Joomla选择命令可能类似于:
$query->select( $db->quoteName(
array_keys($fields),
array_values($fields)
));
这将产生以下SQL SELECT
查询:
选择`a`.`id` AS`id`,`a`.`field1` AS`field1`,`a`.`field2` AS`field2`,`a`.`field3` AS`field3`,`b`.`field1` AS`bfield1`,`b`。`field2`AS`bfield2`