magento中联表查询排序方法

联表查询数据库的方法: joinLeft中第二个array()里面写入的是联表中要加入的字段,如果使用getSelect()方法那么排序使用order,并且排序方法和排序条件写在一起中间加个空格。如果不使用getSelect()的话排序用setOrder()。
1、使用getSelect()方法:

$collection->getSelect()
	->joinLeft(['rules' =>'salesrule'], "main_table.rule_id = rules.rule_id", ['discount_amount'])
    ->where("main_table.times_used = '0'")
    ->order('main_table.coupon_id  DESC');

多表联查不只是两张表进行联表,也可以多张表进行联查(>2):

$store = Mage::app()->getStore()->getId();
$_article = Mage::getModel('faq/faq')->getCollection();
$_article->getSelect()
	->joinleft(['a' => 'faq_category_item'], 'main_table.faq_id = a.faq_id', ['category_id'])
    ->joinleft(['b' => 'faq_category'], 'a.category_id = b.category_id', ['category_name'])
    ->joinleft(['c' => 'faq_store'], 'main_table.faq_id = c.faq_id', [])
    ->where("c.store_id = $store");

2、不使用getSelect()方法:

$orders = Mage::getResourceModel('sales/order_collection')
       ->addFieldToSelect('*')
       ->addFieldToFilter('customer_id', 33)
       ->setOrder('created_at', 'desc');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值