Я пытаюсь подробно объяснить код.Продавец получает больше предложения для своего автомобиля.Когда он принимает определенное предложение для конкретной машины, я хочу запретить ему снова принимать другие предложения для той же машины.Пример.Продавец принял предложение id.2, цена 3000, car_id 4. Продавец больше не может принимать предложение id.3 или 4 или 5, цена 4000, car_id 4. Посмотрите мой код и базу данных
public function accept($id){
$userId = Auth::user();
$offerId = Offer::with('user')->find($id);
if(!$offerId){
return response()->json([
'message' => 'Oooops this offer does not exist or is currently unavailable'
]);
}
if($offerId->accepted === 1){
return response()->json([
'message' => 'Oooops this offer is already accepted'
]);
}
$res = DB::table('offers')
->where('id', $id)
->update(['accepted' => 1]);
if(!$res){
return response()->json([
'message' => 'Ooooops the offer is already accepted'
]);
}
Mail::to($offerId->user->email)->send(new AcceptOffer());
return response()->json([
'message' => 'Successfully accepted offer',
'offer' => $id
]);
}
Моя таблица Предложение с манипуляцией с предложением:
https://imgur.com/ccs4abV
Отношение между предложением и автомобилем и пользователем:
Автомобиль:
public function user() {
return $this->belongsTo('App\User');
}
public function offer() {
return $this->hasMany('App\Offer');
}
Предложение:
public function car() {
return $this->belongsTo('App\Car');
}
public function user() {
return $this->belongsTo('App\User');
}
Пользователь:
public function cars(){
return $this->hasMany('App\Car');
}
public function offers(){
return $this->hasMany('App\Offer');
}