Как объединить эти две функции с конструктором запросов Laravel - PullRequest
0 голосов
/ 25 июня 2018

Мне нужно экспортировать окончательную сумму после подсчета всей кредиторской и дебиторской задолженности члена, теперь я делаю две функции, как их объединить

public function memberReceivable($id){

    return $this->join('transactions', 'transactions.id', '=', 'member_transactions.transaction_id')
    ->leftjoin('accounts', 'accounts.id', '=', 'transactions.account_id')
    ->selectRaw("transactions.unit as currency,sum(transactions.amount) as amount")
    ->where('accounts.type','accountsReceivable')
    ->where('member_transactions.member_id',$id)
    ->groupBy('transactions.unit')->get();    
}

public function memberPayable($id){

    return $this->join('transactions', 'transactions.id', '=', 'member_transactions.transaction_id')
             ->leftjoin('accounts', 'accounts.id', '=', 'transactions.account_id')
             ->selectRaw("transactions.unit as currency,sum(transactions.amount) as amount")
             ->where('accounts.type','accountsPayable')
             ->where('member_transactions.member_id',$id)
             ->groupBy('transactions.unit')->get();
}

1 Ответ

0 голосов
/ 25 июня 2018
public function member($id = null, $type = ""){
    $response = $this->join('transactions', 'transactions.id', '=', 
    'member_transactions.transaction_id')
    ->leftjoin('accounts', 'accounts.id', '=', 'transactions.account_id')
    ->selectRaw("transactions.unit as currency,sum(transactions.amount) as amount");

    if($type){
      $response->where('accounts.type', $type);
    }

    if($id){
      $response->where('member_transactions.member_id',$id);
    }

    $response->groupBy('transactions.unit')->get();

    return $response;
}

Вы можете попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...