2017-09-14 30 views
0

I 3つのテーブルに1つのフォームを挿入する際に問題があります。 セクションテーブルを保存した後で、section_idを動的に取得したい。 section_idはコンテンツテーブルを作成します。Laravel複数のテーブルと複数のデータを挿入する

は、ここに私のコード

// insert course 
$Course = new Course; 
$Course->title = $request->title; 
$Course->goal = $request->goal; 
$Course->description = $request->description; 
$Course->image = $request->image; 
$Course->id_category = $request->id_category; 
$Course->id_level_course = $request->id_level_course; 
$Course->id_author = $request->id_author; 
$Course->save(); 
$Course_id = $Course->id; 
// insert course 

// insert section 
foreach($request->get('section_title') as $index => $value){ 
    if($value != null){ // check not null request value 
    $Section = new Section; 
    $Section->title = $value; 
    $Section->id_course = $Course_id; 
    $Section->save(); 
    $Section_id = $Section->id;   

    } 
} 
// insert section 

// insert content 
    foreach($request->get('content_title') as $index => $value){ 
     if($value != null){ // check not null request value 
     $Content = new Content; 
     $Content->title = $value; 
     $Content->id_section = $Section_id; 
     $Content->save(); 
     } 
    } 
// insert content 
+0

? –

+0

複数のsection_titlesはありますか? –

+0

@Adi Gunawan Hidayatいくつかのヌルセクションがあり、いくつかのヌルのコンテンツがある場合、どうしたらよいでしょうか? – okante

答えて

0

もしあるcontent_titlesection_title、あなたがforeachループに渡す前に、それをexplodeする必要がカンマ区切りの文字列です:

$titles = explode(',',$request->get('content_title')); 
foreach($titles as $index => $value){ 
//code 
} 
0

あなたはセクションの後に、それぞれのコンテンツを挿入することができます。

$contents = $request->get('content_title') 
foreach($request->get('section_title') as $index => $value){ 
    if($value != null){ // check not null request value 
    $Section = new Section; 
    $Section->title = $value; 
    $Section->id_course = $Course_id; 
    $Section->save(); 
    $Section_id = $Section->id;   
// insert content 
    $title = isset($contents[$index]) ? $contents[$index]: null; 
    if($title != null){ // check not null request value 
     $Content = new Content; 
     $Content->title = $title; 
     $Content->id_section = $Section_id; 
     $Content->save(); 
    } 
    } 
} 

//正確に動作しませんどのような挿入部

+0

しかし、私はcontent_tableに複数の挿入もできます。あなたのコードでは、content_tableに1レコードを挿入するだけです。 –

+0

要求変数content_titleとsection_titleの 'var_dump'で質問を更新してください。 – okante

+0

section_titleは 'Lear Laravel'と似ています。 content_titleは 'Installation Laravel、Instalation composer'のようなものです –

関連する問題