У меня есть две модели TeamMember
и ProjectRequest
.
A TeamMember
может иметь один ProjectRequest
, поэтому я создал следующие отношения Eloquent на TeamMember
:
class TeamMember extends Model {
//
protected $table = 'team_members';
protected $fillable = ['project_request_id'];
// Relations
public function projectTeam() {
return $this->hasOne('\App\Models\ProjectRequest', 'project_request_id');
}
}
В моем контроллере я хочу запросить обе таблицы, однако он возвращает сообщение об ошибке.
Важно знать, что $request->projectTeam
- это массив писем, которые выглядят так:
array:2 [
0 => "mv@something.com"
1 => "as@something.com"
]
Это означает, что мне нужно массово вставить в team_members
таблицу project_request_ id
для каждого члена группы, в которой электронные письма находятся в массиве.
Как я могу сделать это правильно? Вот моя попытка:
public function createProjectTeam(Request $request){
try {
$title = $request->projectTitle;
$TeamMember = $request->projectTeam;
$projectRequest = ProjectRequest::create(['project_title' => $title]);
$projectRequestId = $projectRequest->id;
$projectTeam = $this->teamMembers->projectTeam()->create(['project_request_id'=> $projectRequestId])->where('email', $TeamMember);
//$projectTeam = TeamMember::createMany(['project_request_id' => $projectRequestId])->where($TeamMember);
//dd($projectTeam);
return $projectRequest.$projectTeam;
} catch(\Exception $e){
return ['success' => false, 'message' => 'project team creation failed'];
}
}