Dont forget to do composer dump-autoload after adding the files.
Done for reddit
| <?php | |
| use Illuminate\Database\Schema\Blueprint; | |
| use Illuminate\Database\Migrations\Migration; | |
| class CreateRegionCityHotelTable extends Migration | |
| { | |
| /** | |
| * Run the migrations. | |
| * | |
| * @return void | |
| */ | |
| public function up() | |
| { | |
| Schema::create('regions', function (Blueprint $table) { | |
| $table->increments('id'); | |
| $table->string('name'); | |
| $table->timestamps(); | |
| }); | |
| Schema::create('cities', function (Blueprint $table) { | |
| $table->increments('id'); | |
| $table->string('name'); | |
| $table->timestamps(); | |
| }); | |
| Schema::create('hotels', function (Blueprint $table) { | |
| $table->increments('id'); | |
| $table->string('name'); | |
| $table->timestamps(); | |
| }); | |
| } | |
| /** | |
| * Reverse the migrations. | |
| * | |
| * @return void | |
| */ | |
| public function down() | |
| { | |
| Schema::drop('regions'); | |
| Schema::drop('cities'); | |
| Schema::drop('hotels'); | |
| } | |
| } |
| <?php | |
| namespace App; | |
| use Illuminate\Database\Eloquent\Model; | |
| class City extends Model | |
| { | |
| public $fillable = ['name']; | |
| public function getRouteKeyName() | |
| { | |
| return 'name'; | |
| } | |
| } |
| <?php | |
| use Illuminate\Database\Seeder; | |
| class DatabaseSeeder extends Seeder | |
| { | |
| /** | |
| * Run the database seeds. | |
| * | |
| * @return void | |
| */ | |
| public function run() | |
| { | |
| App\Region::create(['name' => 'texas']); | |
| App\City::create(['name' => 'dallas']); | |
| App\Hotel::create(['name' => 'paradise']); | |
| } | |
| } |
| <?php | |
| namespace App; | |
| use Illuminate\Database\Eloquent\Model; | |
| class Hotel extends Model | |
| { | |
| public $fillable = ['name']; | |
| public function getRouteKeyName() | |
| { | |
| return 'name'; | |
| } | |
| } |
| <?php | |
| namespace App\Http\Controllers; | |
| use Illuminate\Http\Request; | |
| use App\Http\Requests; | |
| class HotelController extends Controller | |
| { | |
| public function show(\App\Region $region, \App\City $city, \App\Hotel $hotel) { | |
| dd($region, $city, $hotel); | |
| } | |
| } |
| <?php | |
| namespace App; | |
| use Illuminate\Database\Eloquent\Model; | |
| class Region extends Model | |
| { | |
| public $fillable = ['name']; | |
| public function getRouteKeyName() | |
| { | |
| return 'name'; | |
| } | |
| } |
| <?php | |
| /* | |
| |-------------------------------------------------------------------------- | |
| | Application Routes | |
| |-------------------------------------------------------------------------- | |
| | | |
| | Here is where you can register all of the routes for an application. | |
| | It's a breeze. Simply tell Laravel the URIs it should respond to | |
| | and give it the controller to call when that URI is requested. | |
| | | |
| */ | |
| Route::get('/hotels/{region}/{city}/{hotel}', ['uses' => 'HotelController@show']); |