поиск и возврат массива с подмассивом в laravel - PullRequest
0 голосов
/ 05 февраля 2020

Здравствуйте, сообщество в Laravel Я делаю поиск, список массивов возвращает меня, это прекрасно. Я хочу вернуть подмассив со списком, как это сделать с select? используя db :: table в laravel

DB::table("campania_post AS pt")
                ->join("campania AS c","c.id","=","pt.campania_id")
                ->where("c.manager_id", "=", $user->id)
                ->leftJoin("files AS f","f.id","=","c.avatar")
                ->where("pt.status", "=", 0)
                ->select("c.id", "c.nombre", "c.avatar", "f.name", "c.created_at", 'f.id as file_picture')
                ->groupby("c.id")
                ->get();

enter image description here

Ответы [ 2 ]

0 голосов
/ 05 февраля 2020
$data->map(function ($singleData) {
$singleData['img'] = ['Add your sub array'];
return $singleData; });

Вот и все.

0 голосов
/ 05 февраля 2020

Для Query Builder:

Вы можете использовать GROUP_CONCAT для строки. А затем используйте map в результате, чтобы преобразовать его в массив.

$data = DB::table("campania_post AS pt")
                ->join("campania AS c","c.id","=","pt.campania_id")
                ->where("c.manager_id", "=", $user->id)
                ->leftJoin("files AS f","f.id","=","c.avatar")
                ->where("pt.status", "=", 0)
                ->select("c.id", "c.nombre", "c.avatar", "f.name", "c.created_at", DB::raw("GROUP_CONCAT(f.id, ',') AS file_picture"))
                ->groupby("c.id")
                ->distinct()
                ->get();

$data->map(function($q) {
    $q->file_picture = explode(',', $q->file_picture);
    return $q;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...