В моем контроллере я вызываю модель своих счетов-фактур, которая выполняет разбиение на страницы. После того, как я получу результаты, я должен выполнить цикл каждого результата и добавить пару ключей => значение к исходным результатам. я мой Laravel настроить в конфиге/database.php, чтобы получить результаты в виде массивов:Добавить пару ключевых значений в результаты из модели Laravel с разбивкой на страницы
'загрузить' => PDO :: FETCH_ASSOC,
Мой код в моем контроллере
$invoices = Invoices::getInvoices($clientId);
$total = 0;
foreach($invoices as $key=>$inv) {
$payments = Payments::getPaymentAmount($inv['InvoiceId']);
foreach($payments as $pmt) {
$total += $pmt['Pmt_Amount'];
}
$invoices[$key]['total'] = $total;
}
Мои Счета-фактуры модель:
public static function getInvoices($clientId)
{
$invoices = DB::table('invoices')
->where('ClientId', '=', $clientId)
->paginate(25);
return $invoices;
}
и моя модель платежей
public static function getPaymentAmount($invoiceId)
{
$payment = DB::table('payments')
->select('Pmt_Amount', 'PaymentStatusId')
->where('InvoiceId', $invoiceId)
->get();
return $payment;
}
Когда я пытаюсь добавить «всего» в массив счетов-я получаю следующую ошибку
Косвенное модификация перегруженного элемента Осветите \ PAGINATION \ LengthAwarePaginator не имеет никакого эффекта
Почему вы используете 'DB' в модели Eloquent для вызова таблицы, за которую должна отвечать эта модель? –