@amrcodes Have you seen https://laracasts.com/series/laravel-6-from-scratch/episodes/29 ?
If you are new to Laravel I highly recommend to watch the entire series and code along, that way you quickly get a basic understanding of what's going on.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Hello, I'm new to laravel and I'm struggling with a problem for almost 3 days,
I have two tables first table = customer_info [primary key] main table second table = room_info [foreign key]
when I insert new data to the table room_info using the foreign key a new row is created inside of the customer_info with a new id but nothing happens inside of the 2nd table room_info because I don't know how to use foreign key inside of my controller room_info table
I'm not using migrations I use PHPMyAdmin here is my code:
Controller for the rooms table=
<?php
namespace App\Http\Controllers;
use \Debugbar;
use Illuminate\Http\Request;
use App\Models\Room;
use App\Models\Customer;
class GuestRoomController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$cat = Customer::all();
return view('guest')->with('cat', $cat);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$room = new Room;
$room->room_nums = $request->room_num;
$room->room_type = $request->room_type;
$room->adults = $request->adults;
$room->child = $request->child;
$room->user_id = 44;
// dd($room->id);
$room->save();
return redirect('/guest');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
controller for the customer_info
<?php
namespace App\Http\Controllers;
use App\Models\Guest;
use App\Models\Customer;
use App\Models\Info;
use Illuminate\Http\Request;
class GuestController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
// $guest = Guest::all();
// return view('guest')->with('guest', $guest);
// dd($guest);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$guest = new Customer;
$guest->guest_name = $request->name;
$guest->nationality = $request->nationality;
$guest->email = $request->email;
$guest->mobile_num = $request->mobile;
// $guest->id = $request->id;
// $guest->nationality = $request->nationality;
// $guest->nationality = $request->nationality;
$guest->save();
return redirect('/res');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
room model
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Room extends Model
{
use HasFactory;
public $timestamps = false;
protected $table = 'booking_guest_room';
protected $fillable = ['user_id', 'id'];
public function rooms(){
return $this->belongsTo(Customer::class);
}
}
customer model
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Customer extends Model
{
use HasFactory;
protected $table="customer_info";
public function customers(){
return $this->hasMany(Room::class);
}
}
route file
<?php
use App\Http\Controllers\InfoController;
use App\Http\Controllers\GuestController;
use App\Http\Controllers\GuestRoomController;
use Illuminate\Support\Facades\Route;
// use App\Http\Controllers\PackageController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('sections', function(){
return view('sections');
});
Route::get('res', function(){
return view('res');
});
Route::get('guest', function(){
return view('guest');
});
Route::resource('guest', GuestController::class);
Please or to participate in this conversation.