首页 > 解决方案 > 插入流明中的多个表(laravel)

问题描述

我尝试将一些数据插入到 2 个带有流明的表中。我使用 lumen 作为 REST Api。

这是我做的:

创建路线:

$router->group(['prefix' => 'fp'], function () use ($router) {
    $router->post('/OnUVCreate/{idfach}/{idjahrgang}/{SendUVorhaben}', 'UVCreateController@postuvorhaben'); 
});

我的控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class UVCreateController extends Controller
{
    
    public function postuvorhaben($idfach, $idjahrgang, $SendUVorhaben)
     {
     
       $dbuvorhaben = DB::table('uvorhaben')
            ->insert(
            ['uvorhaben'=> $SendUVorhaben]
            );
       $id = DB::getPdo()->;
       $dbfju = DB::table('faecherJahrgangUvorhaben')
            ->insert(
            ['fachID'=> $idfach],
            ['jahrgangID'=> $idjahrgang],
            ['uvorhabenID'=> $id]
            );
            
            
             return response()->json(['message' => 'ok'], 200);
     }
    
    
}

其中一半有效。第一个插入工作正常。第二次插入不起作用。他正确插入了“fachID”,但没有插入“jahrgangID”和“uvorhabenID”。

抱歉我的英语不好,非常感谢您的帮助!问候萨沙

标签: phplaravellumen

解决方案


插入faecherJahrgangUvorhaben表的方法是错误的。我猜你已经为单个插入创建了多个数组。

$dbfju = DB::table('faecherJahrgangUvorhaben')
            ->insert(
            [
            'fachID'=> $idfach,
            'jahrgangID'=> $idjahrgang,
            'uvorhabenID'=> $id
           ]
            );

我建议您为每个表创建模型。这样可以避免冗余代码。例如,假设如果 db 表名更改,那么您已经更改了多个位置。


推荐阅读