>백엔드 개발 >PHP 튜토리얼 >sql语句转换成Laravel ORM的问题。

sql语句转换成Laravel ORM的问题。

WBOY
WBOY원래의
2016-06-06 20:20:201287검색

<code>SELECT
    e.external_account_id,
    e.trade_type,
  e.stock_code,
    e.name,
    e.stock_name,
    SUM(e.trade_price * e.trade_count) / SUM(e.trade_count) AS trade_price,
    SUM(e.trade_count) AS trade_count
FROM
    (
        SELECT
            a.id,
            a.external_account_id,
            a.internal_account_id,
            a.trade_price,
            a.trade_count,
            b.stock_code,
            b.trade_type,
            c.name as stock_name,
            d.name
        FROM
            trades a,
            orders b,
            stocks c,
            external_accounts d
        WHERE
            a.order_id = b.id
        AND b.stock_code = c.code
        AND a.external_account_id = 29
        AND d.id = 29
    ) AS e
GROUP BY e.stock_code, e.trade_type</code>

这段sql转换成ORM应该怎么写啊= =。
Laravel用的不多,求高玩赐教。。

踩我的朋友们,嫌我问的问题low?问的low你来答啊。答不出来还踩,什么心态。?

回复内容:

<code>SELECT
    e.external_account_id,
    e.trade_type,
  e.stock_code,
    e.name,
    e.stock_name,
    SUM(e.trade_price * e.trade_count) / SUM(e.trade_count) AS trade_price,
    SUM(e.trade_count) AS trade_count
FROM
    (
        SELECT
            a.id,
            a.external_account_id,
            a.internal_account_id,
            a.trade_price,
            a.trade_count,
            b.stock_code,
            b.trade_type,
            c.name as stock_name,
            d.name
        FROM
            trades a,
            orders b,
            stocks c,
            external_accounts d
        WHERE
            a.order_id = b.id
        AND b.stock_code = c.code
        AND a.external_account_id = 29
        AND d.id = 29
    ) AS e
GROUP BY e.stock_code, e.trade_type</code>

这段sql转换成ORM应该怎么写啊= =。
Laravel用的不多,求高玩赐教。。

踩我的朋友们,嫌我问的问题low?问的low你来答啊。答不出来还踩,什么心态。?

转换成ORM增加了复杂性,降低了sql语句可读性,还不如直接用DB::select()来执行sql。

复杂的sql没必要改成orm

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.