добавить новый столбец в существующую таблицу и отобразить его в блейде вида (LARAVEL, mysql) - PullRequest
0 голосов
/ 31 января 2020

Моя цель состоит в том, чтобы отобразить сумму платежей УСПЕХА в моем проекте в домашнем блейде.

, если это возможно сделать без создания нового столбца, все в порядке.

Шаг 1: У меня есть таблица с именем (платежей), я хочу добавить новый столбец с именем (total_amount),

У меня уже есть столбец суммы, поэтому мне нужно поместить сумму этого столбца в новый (total_amount).

ПРИМЕЧАНИЕ: мне нужны только успешные платежи, поэтому для запроса SUM необходимо условие, где status = 'success' введите описание изображения здесь

шаг 2: после получения общей суммы, я хочу показать ее в блейде домашнего просмотра.

я просто хочу показать общее количество платежей в

, пожалуйста, мне нужно пошагово и что я должен поместить в контроллер и модель ..., я пытаюсь получить сумму, не создавая новый столбец но это не работа, поэтому я думаю, что мне нужно сначала создать его столбец и получить значение th это столбец, обратите внимание, что это просто одно значение, а не массив.

Ответы [ 2 ]

0 голосов
/ 31 января 2020

Вам не нужно иметь столбец суммы. В общем, вам следует избегать хранения агрегатов. Вместо этого сделайте что-то вроде этого:

[Контроллер] $sum = Payment::where('status', 'success')->sum('amount');

Затем, когда вы создаете представление, убедитесь, что сжимаете сумму с другими переменными:

[Контроллер] return view('yourtemplate', compact( 'all', 'your', 'other', 'vars', 'sum' ));

Затем в самом представлении просто отобразите сумму в любом месте:

[Представление] <h1>{{ $sum }}</h1>

РЕДАКТИРОВАТЬ: Мысль о другом пути. Если у вас уже есть платежи в виде сбора в этом представлении, вы можете просто использовать помощник сбора:

[Просмотр] <h1>{{ $payments->where('status', 'success')->sum('amount') }}</h1>

0 голосов
/ 31 января 2020

Если я понимаю ваш вопрос, а вам нужна общая сумма каждого успешного платежа? Если вопрос «да», вот ваш запрос (при условии, что вы создали свою модель оплаты).

Payment::selectRaw('SUM("amount")->where('status', 'success')->first();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...