sql >> データベース >  >> RDS >> Mysql

Laravelの雄弁なクエリビルダー-関係に関するグループとの合計

    生成されたSQLで、グループ化する列を選択する必要があり、groupByの後にget()を呼び出す必要があります。 そうしないと、groupByを呼び出すことになります クエリビルダーオブジェクトではなく、コレクション上。したがって、次のことができるはずです:

    Transaction::selectRaw('transactionType.category, sum(amount) as amount')
    ->with('transactionType')
    ->groupBy('transactionType.category')
    ->get();
    

    またはあまり雄弁ではない

    DB::table('transaction')
    ->join(
        'transaction_type',
        'transaction_type.id',
        '=',
        'transaction.transaction_type_id'
    )->selectRaw('transationType.category, sum(amount)')
    ->groupBy('transactionTyle.category')
    ->get();
    



    1. MySQLデータベース最適化のベストプラクティス

    2. PHP PDOがテーブルを更新せず、エラーが発生しない

    3. JavaScript(Postgres DB)-WHERE IN()句のパラメーターとして配列を使用したプリペアドステートメントの使用方法

    4. 警告:mysqli_query()は、パラメーター1が指定されたmysqliブール値であることを想定しています。