laravel выберите значение модели без имени столбца - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу выбрать данные из модальных, затем только получить значение и установить значение в datatables. Поскольку столбцы являются динамическими, я не могу иметь имя столбца в результате

У меня есть попытка

public function test()
    {
        return Model::pluck('id','name');
    }

но результат такой

{ 
    1 : "name 1", 
    2 : "name 2" 
}

Мне нужен результат, чтобы быть

[
    { 1, "name 1" },
    { 2, "name 2" }
]

с использованием Model :: all (['id', 'name']);

[
    { "id" : "1" , "name" : "name 1" },
    { "id" : "2" , "name" : "name 2" }
]

как убрать "id" и "name"?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Вы не можете иметь значения объекта без ключей. Самое близкое, что вы можете сделать - вернуть их как массивы.

$all = Model::all(['id', 'name'])->map(function($model) {
    return [model->id, model->name];
})->toArray();

это приведет к:

[
    0 => [
        0 => 1,
        1 => 'name 1'
    ],
    1 => [
        0 => 2,
        1 => 'name 2'
    ]
]

обратите внимание, что эти 0 => не ключи, это индексы массивов. Таким образом, вы можете игнорировать их.

0 голосов
/ 30 апреля 2019
public function test()
{
    return Model::pluck('id','name');
}

, если вы хотите получить id и name в качестве ключа и значения, используйте pluck, если вы хотите получить только эти два столбца, лучше используйте only.

public function test()
 {
    return Model::only('id','name');
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...