Как я могу получить много значений с одним ключом JSON Laravel? - PullRequest
0 голосов
/ 06 ноября 2018

Привет, я хочу спросить, как отправить JSON в массиве, а не отправлять их по одному я использую laravel и vue.js я новичок в Laravel и хочу знать лучше я пытался зациклить, но это не удалось

вот пример:

{
    "data": [
        [
            {
                "activity_id": 1,
                "start_date": "2018-11-06",
                "product_name": "ks",
                "topic_name": "exploration"
            }
        ],
        [
            {
                "subproduct_name": "bcd"
            },
            {
                "subproduct_name": "cfr"
            }
        ]
    ]
}

я хочу получить их вот так

{
    "data": [
        [
            {
                "activity_id": 1,
                "start_date": "2018-11-06",
                "product_name": "ks",
                "topic_name": "exploration",
                "subproduct_name":["bcd","cfr"]
            }
        ],

    ]
}

а это мой контроллер

 public function getActivity()
{



    $getData = DB::table('new__businesses')->select('new__businesses.activity_id','new__businesses.start_date','new__businesses.end_date','new__businesses.corporate_name','ms__subsidiaries.subsidiary_name','ms__products.product_name','ms__topics.topic_name')
    ->leftjoin('ms__subsidiaries','ms__subsidiaries.subsidiary_id','=','new__businesses.subsidiary_id')
    ->join('ms__products','ms__products.product_id','=','new__businesses.product_id')
    ->join('ms__topics','ms__topics.topic_id','=','new__businesses.topic_id')
    ->get();

    $getSubproduct = DB::table('new__businesses')
        ->select('ms__subproducts.subproduct_name')
        ->join('store__subproducts','store__subproducts.activity_id','=','new__businesses.activity_id')
        ->join('ms__subproducts','ms__subproducts.subproduct_id','=','store__subproducts.subproduct_id')
        ->get();

    $getPic = DB::table('new__businesses')
        ->select('ms__users.user_name')
        ->join('pics','pics.activity_id','=','new__businesses.activity_id')
        ->join('ms__users','ms__users.user_id','=','pics.user_id')
        ->get();

        return response()->json([
            'data'=>$getData,
            'pic'=>$getPic,
            'subproduct'=>$getSubproduct
        ]);        


}

}

пожалуйста, дайте мне решение, я застрял

1 Ответ

0 голосов
/ 06 ноября 2018

Если вы используете pluck вместо get, вы получите один массив значений вместо массива объектов, который вы затем сможете добавить в свой массив.

$getSubproduct = DB::table('new__businesses')
    ->join('store__subproducts','store__subproducts.activity_id','=','new__businesses.activity_id')
    ->join('ms__subproducts','ms__subproducts.subproduct_id','=','store__subproducts.subproduct_id')
    ->pluck('ms__subproducts.subproduct_name');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...