Laravel 在控制器中使用foreach时获取语法错误

Laravel 在控制器中使用foreach时获取语法错误,laravel,laravel-5,Laravel,Laravel 5,这是我的控制器,在控制器中使用foreach时出现语法错误 您需要在insert方法之后添加分号 namespace App\Http\Controllers; use DB; class course_controller extends Controller { public function show_details() { $prospects = DB::table('prospect')->get(); foreach ($pr

这是我的控制器,在控制器中使用foreach时出现语法错误


您需要在insert方法之后添加分号

namespace App\Http\Controllers;

use DB;

class course_controller extends Controller {

    public function show_details() {
        $prospects = DB::table('prospect')->get();

        foreach ($prospects as $prospect) {
            DB::table('course_prospect')->insert(['prospect_id' => 
$prospect->id, 'course_id' => $prospect->course_intrested]);   // add semicolon here
        }   // don't need semi-colon here

    }

}

您错放了分号,请检查此处:

foreach ($prospects as $prospect) {
            DB::table('course_prospect')->insert(['prospect_id' => 
$prospect->id, 'course_id' => $prospect->course_intrested])
        }; <-- this one
在每次迭代时触发insert查询并不是一个好主意,而是创建一个数组并保存在一个查询中。

分号(
)在您的
insert
查询中丢失:

public function show_details() {
    $prospects = DB::table('prospect')->get();

    foreach ($prospects as $prospect) {
        DB::table('course_prospect')->insert(['prospect_id' =>
            $prospect->id, 'course_id' => $prospect->course_intrested]); //Add semicolon here
    }
}
foreach ($prospects as $prospect){  
   DB::table('course_prospect')->insert([  
      'prospect_id' => $prospect->id,
      'course_id'   => $prospect->course_intrested 
   ]); //You missed the semicolon here
} //remove semicolon from here
将记录插入数据库的语法

foreach的语法:

foreach($prospects as $prospect){

}   

你把
放错地方了这导致了问题

我还建议您使用关联模型,而不是像下面那样使用
DB

use App/Prospect;
use App/CourseProspect;

class course_controller extends Controller {

    public function show_details() {
        $prospects = Prospect::all();

        foreach ($prospects as $prospect) {
            CourseProspect::create([['prospect_id' => 
$prospect->id, 'course_id' => $prospect->course_intrested]]);
        };
    }
}
foreach ($prospects as $prospect){  
   DB::table('course_prospect')->insert([  
      'prospect_id' => $prospect->id,
      'course_id'   => $prospect->course_intrested 
   ]); //You missed the semicolon here
} //remove semicolon from here
foreach($prospects as $prospect){

}   
use App/Prospect;
use App/CourseProspect;

class course_controller extends Controller {

    public function show_details() {
        $prospects = Prospect::all();

        foreach ($prospects as $prospect) {
            CourseProspect::create([['prospect_id' => 
$prospect->id, 'course_id' => $prospect->course_intrested]]);
        };
    }
}