как я могу вставить значение идентификатора в таблицу из другой таблицы с помощью laravel

#javascript #php #html #laravel

#javascript #php #HTML #laravel

Вопрос:

у меня есть контроллер, в который я хочу вставить идентификатор из таблицы в другую.

 public function storecontact(Request $request)
{
    $img_name=time() .'.' . $request->url->getClientOriginalExtension();
    
    $this->validate($request,[
            'content' => 'unique:emails,content,subject'
            
        ]);
    $request->user()->id;
    $email= new Email;
    $email->name=request('name');
    $email->user_id = auth()->user()->id;
    $email->email=request('email');
    $email->subject=request('subject');
    $email->hood=request('hood');
    $email->street=request('street');
    $email->content=request('content');
    $email->priority=request('priority');
    $email->url=$img_name;
    $email->status=("ממתין לטיפול");
    //$email->subject_id= request($id);
   // $email->subject_id=request($id);
    $email->save();
    $request->url->move(public_path('photos'),$img_name);
    eturn redirect()->back();
   }
 

связь для модели электронной почты

 public function subject()
{
    return $this->belongsTo(Subject::class);
}
 

связь для объекта модели

 public function emails()
{
    return $this->hasMany(Email::class);
}
 

я думаю, проблема должна быть в контроллере, он работал для меня раньше, возможно, некоторые строки кода были удалены, и я забыл, как я это сделал.

Комментарии:

1. Вы имеете в виду это? $email-> subject_id= $request-> user()-> id;

2. нет, он вставляет зарегистрированный идентификатор пользователя, мне нужен идентификатор субъекта i из другой таблицы

3. Если у вас есть доступ к электронной почте, вы можете прикрепить к ней идентификатор темы с помощью $email-> subject()-> id;

4. это не работает

Ответ №1:

Вы можете просто выполнить простые шаги:

 <?php

        use AppUser; \table
        use AppEmail; \table
        
        //it will return single model
        $user_id = User::select('id')->where('name','shewa')->first(); 
      
        $create = Email::create([
            'id' => $user_id,
            'last_name' => 'Otwell',
            'title' => 'Developer',
        ]);
        //finally save
        $create->save();
?>
 

Комментарии:

1. как я могу получить идентификатор субъекта из таблицы subject и вставить идентификатор в другую таблицу в форме отправки

2. Пожалуйста, посмотрите пример, я создал две таблицы. Вы можете просто использовать в соответствии с именем вашей таблицы