我有表'project','user'和'role_mapping'。我想从项目表中获取project_owner_id并推送在user_mapping table.one项目中从user table和role_id = 1获取的user_id所有者有多个项目。所以我想限制重复输入。我想在laravel控制器控制器中做到这一点。
project table
project_id project name project_owner_id
1 DEC01
2 DEC02
3 DEC01
user table
id user_string
1 DEC03
2 DEC01
3 DEC02
role_mapping table
user_id role_id
2 1
3 1
$heads = DB::table('project')
->join('users', 'project.project_owner_id', '=', 'users.user_string')
->select('project.project_owner_id','users.id as user_id')->get();
foreach($heads as $head){
print_r($head->project_owner_id);
print_r($head->user_id);
}
以下查询获取项目所有者ID和user_id.How以推送role_mapping表中的值
答案 0 :(得分:1)
尝试引用这个,使用附加,分离在laravel:http://kaloraat.com/questions/laravel-attach-detach-and-sync-methods
希望这会有所帮助:)
答案 1 :(得分:1)
就像这样
假设您的模型名称为MappingTable
foreach($heads as $head){
$mapTable = new MappingTable();
$mapTable->user_id = $head->user_id;
$mapTable->role_id = $head->project_owner_id;
$mapTable->save();
}
或者您可以像这样传递$data
数组
$data = array(
array('user_id'=>$head->user_id, 'role_id'=> ),
array('user_id'=>$head->user_id, 'role_id'=> $head->project_owner_id),
//...
);
MappingTable::insert($data); // Eloquent
DB::table('role_mapping table')->insert($data); // Query Builder