Как переименовать поля, возвращаемые из построителя запросов Laravel withCount (он же $asColumn) [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как переименовать поля, возвращаемые из построителя запросов Laravel withCount (он же $asColumn) [дубликат]

Сообщение Anonymous »

У меня есть одна модель, и я пытаюсь объединить несколько withCounts с разными отношениями. Вот пример:

Код: Выделить всё

    return MyModel::query()
->withCount(array('users'=>function($query){
$query->where('enabled', '=', 1);
}))
->withCount(array('users'=>function($query){
$query->where('phone', '=', "123-4567");
}))
->get();
Это не работает, потому что Laravel автоматически возвращает имя поля Snake_case в моих результатах под названием «users_count», и по сути это означает, что включенный раздел запроса перезаписывается с помощью раздел телефона.

Я немного заглянул в класс Builder.php и заметил, что $asColumn — это возвращаемое имя: https://github.com/laravel /framework/commit/67b821dde62e64f94aa7d99f1806ecf03ea323e5, который, как уже упоминалось, представляет собой просто Snake_case $name + '_count' отношения.

Есть ли способ создать собственный $asColumn без использования необработанного запроса, чтобы я мог получить оба результата? По сути, я хочу, чтобы мои результаты были Enable_users_count и phone_users_count или что-то подобное. Я также предпочел бы не делать два разных запроса.

Подробнее здесь: https://stackoverflow.com/questions/403 ... -aka-ascol
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»