将数据存储在来自eloquent查询语句的嵌套foreach循环的变量中

时间:2017-06-21 10:24:36

标签: php arrays laravel-5.3 blade

我想将laravel控制器中的数据传递给view。我遇到的问题是传递的数据来自数据库表,并使用嵌套的foreach循环将其存储在变量中,但变量在每个循环中都被过度压缩。 这是守则。

 public function generateContract(Request $request){


    foreach($request->ids as $id){
        $contract = explode(",", $id);
        $this->techId[] = $contract[0];
        $this->meetingId[] = $contract[1];
        $this->contractId[] = $contract[2];
    }


    $names = contract::whereIn('technician_id', $this->techId)->whereIn('meeting_id', $this->meetingId )->get();

    foreach($names as $name){
         $names_arr[] = $name->firstName;

    }

    $unique_names = array_unique($names_arr);

    foreach($unique_names as $unique_name){
        $functions[] = Contract::where('firstName', $unique_name)->whereIn('meeting_id', $this->meetingId)->whereIn('id', $this->contractId)->get();


     }

    return view('contract.generated_contract', compact('unique_names', 'functions'));

}

我的问题是如何在不被覆盖的情况下将$functions变量传递给视图。我已经尝试过使用数组,但是每个循环都会对数组进行过度压缩。

0 个答案:

没有答案