I am able to get the id of the table books using the code below but how should I get the id of my fist table which is named reservation.
$data=reservation::where('user_id',$id)
->join('books','reservations.books_id','=', 'books.id')
->get();
This is how I display the value of both table. I am able to get and display data from both table.
@foreach($data as $data)
<tr>
<td align="center">{{$data->borrowed_books}}</td>
<td align="center">{{$data->price}}</td>
<td align="center">{{$data->reserved_qty}}</td>
<td align="center">{{$data->books_fee}}</td>
<td><a href="{{url('/deletemenu',$data->id)}}">CANCEL</a></td>
</tr>
@endforeach
The problem is, every time I click cancel to delete it from database the id that it gets is from the books table but I want the id of reservation table. What should I do to delete the id of reservation table instead of books table.
public function deletemenu($id)
{
$data=reservation::find($id); //it used to be $data=books::find($id);
$data->delete();
return redirect()->back();
}
CodePudding user response:
$data=reservation::where('user_id',$id)
->join('books','reservations.books_id','=', 'books.id')
->select('reservations.*', 'books.*')
->get();
if you have any columns that have the same name then in your select specify the column as so lets say both tables have column ID
$data=reservation::where('user_id',$id)
->join('books','reservations.books_id','=', 'books.id')
->select('reservations.*', 'books.id as book_id')
->get();