Как избежать конфликта имен столбцов в Laravel?


Я пытаюсь просмотреть дату конкретной таблицы после объединения 3 таблиц в Laravel. Но он показывает только информацию об одной таблице.

Вот код для соединения 3 таблиц:

Файл Маршрута:

 $invoices= DB::table('sales_accounts')
    ->join('invoices', 'sales_accounts.id', '=', 'invoices.sales_Accounts_id')
    ->join('subscribers', 'invoices.receiver_id', '=', 'subscribers.id')
    ->where('sales_accounts.sender_id', $fieldForceID)
    ->get();

return Response::json($invoices);

А вот и скрипт для просмотра информации в шаблоне Blade

Код В Блейде:

function(data) {

            $.each(data, function(index, element) {

                console.log(element);
                infoShare.append("<pre> Date Of Invoice : "+element.created_at+" | Pos Address : "+element.subscriber_address+"| Total Amount: "+element.cost+" </pre>");
            });
        });

Здесь я хотел просмотреть созданную дату счета , но она показала созданную дату подписчика из таблицы подписчиков. Но я хотел посмотреть конкретную дату счета-фактуры из таблицы счета-фактуры.

Как я могу это сделать? С уважением

2 2

2 ответа:

Я сделал это!!!

Если я изменю запрос соединения таким образом, он покажет мне конкретное значение таблицы.

Запрос В Файле Маршрута:

$invoices= DB::table('sales_accounts')
->join('invoices', 'sales_accounts.id', '=', 'invoices.sales_Accounts_id')
->join('subscribers', 'invoices.receiver_id', '=', 'subscribers.id')
->where('sales_accounts.sender_id', $fieldForceID)
->get(['invoices.created_at','invoices.debit','invoices.credit','invoices.cost','subscribers.subscribers_address']);

Ответ на возврат:: json ($invoices);

Теперь все работает отлично!!!

Обновленный Запрос С Использованием Модели SaleAccount:

$fieldForceID=Input::get('option');
$invoices= SaleAccount::where('sales_accounts.sender_id', $fieldForceID)
    ->join('invoices', 'sales_accounts.id', '=', 'invoices.sales_Accounts_id')
    ->join('subscribers', 'invoices.receiver_id', '=', 'subscribers.id')
    ->get(['invoices.created_at','invoices.debit','invoices.credit','invoices.cost','subscribers.subscriber_address']);
return Response::json($invoices);

Попробуйте

Добавьте этот запрос на счетах в файл маршрута

->addSelect(\DB::raw('invoices.created_At as invoce_created'))

Получить счет crated_at дата на файл лезвия

element.invoce_created