Получить только определенные столбцы Eloquent - PullRequest
0 голосов
/ 08 февраля 2019

Короче.Я искал способ не получать некоторые столбцы каждый раз, когда я запрашиваю модель в laravel.Является ли это возможным?Например, иметь что-то вроде:

Class User extends Model{
   ...
   protected $columns = ["name", "email"];
   ...

И каждый раз, когда запрос User как User::get(), он возвращает только имя и адрес электронной почты

Ответы [ 3 ]

0 голосов
/ 08 февраля 2019

Вы можете просто выбрать столбцы специально вместо использования User :: get ()

    $models = User::select('name', 'email')->get();
0 голосов
/ 08 февраля 2019

вы можете отфильтровать столбцы двумя способами

Метод 1
использовать protected $hidden=[] в вашей модели и вывести список переменных, которые вы предпочитаете скрывать.
, а также этот метод будет постоянно скрывать вашу переменную, и если вы хотите снова обратиться к ней, вы должны вызвать ее напрямую, например:

$user=User::find(1);
$user->your_hidden_variable

проверить Eloquent Serialization длядополнительная информация.

метод 2 передать массив при получении / выборе

$user=User::select(["name","email"])->where("your","condition");

ИЛИ

$user=User::where("your","condition")->get(["your","fields"]);
0 голосов
/ 08 февраля 2019

Вы ищете скрыто .

protected $hidden = ["values", "i", "want", "to", "hide"];

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