如何匹配两个table并插入另一个table in laravel 5.4?

How to match two tables and insert it into another table in laravel 5.4?

我需要匹配两个 table 并将其插入支出 table,所以这是我的代码...

    public function store(Request $request)
{
    //Approved Request
    $approvedRequest= DB::table('request')
    ->where('users_MemId',Auth::user()->MemId)
    ->where('requestStatus','Approved')
    ->join('requestdetails','request.requestId','=','requestdetails.request_requestId')
    ->join('itemattribute','requestdetails.RequestDetailsId','=','itemattribute.RequestDetailsId')
    ->join('exudeinventory', 'itemattribute.AttrName', '=', 'exudeinventory.ItemName')
    ->select('itemattribute.AttrName', 'exudeinventory.InventoryId', 'request.requestId')
    ->get();
    // dd($approvedRequest);

存储功能。

我试过匹配 table,但我不知道如何在另一个 table 中插入这些值,或者我做的是否正确。

我一直在寻找解决方案,但我仍然无法弄清楚,希望有人能帮助我并向我解释,我是新手 laravel T,T

也许你可以这样做:

        public function store(Request $request)
        {
            //Approved Request
            $approvedRequest= DB::table('request')
            ->where('users_MemId',Auth::user()->MemId)
            ->where('requestStatus','Approved')
            ->join('requestdetails','request.requestId','=','requestdetails.request_requestId')
            ->join('itemattribute','requestdetails.RequestDetailsId','=','itemattribute.RequestDetailsId')
            ->join('exudeinventory', 'itemattribute.AttrName', '=', 'exudeinventory.ItemName')
            ->select('itemattribute.AttrName', 'exudeinventory.InventoryId', 'request.requestId')
            ->get()
            ->each (function ($request, $key) {
                $dis = new Disbursment;
                $dis->DisbursmentId = rand(1, 999999);
                $dis->ItemImage = 'default.jpg';
                $dis->ItemTypeId = $request->AttrName;
                $dis->exudeinventory_InventoryId = $request->InventoryId;
                $dis->request_requestId = $request->requestId;
                $dis->save();
            });
        }