John Davidson

php - Switching routes on subdomain, laravel multitenancy

0 comments
Message:


Morning!
I'm programming a laravel 7 multitenancy project using hyn package version 5.6
For now i have a principal app (localhost) and a subdomain (tecnotienda.localhost). But when i route them it ussually overlaps, i mean: it just shows the principal or just shows the subdomain.
This is my routes/web.php


<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ReportController;


/*
|--------------------------------------------------------------------------
| PRIMERA PARTE: RUTAS DEL ADMINISTRADOR
|--------------------------------------------------------------------------
|
| Las rutas a continuación, corresponden a unas rutas por default y las rutas
| de autenticación para el admin de la aplicación principal
|
*/


Route::get('/',function(){
return view('index');
});
// ruta al enviar correo
Route::post('/send', 'ControllerMail@send');

Route::get('/home', 'HomeController@index')->name('home');


Route::post('user/logout','Auth\LoginController@userLogout')->name('user.logout');

Route::prefix('admin')->group(function(){
//admin dashboar
Route::get('/','AdminController@index')->name('admin.dashboard');

//login
Route::get('/login','Auth\AdminLoginController@showLoginForm')->name('admin.login');
Route::post('/login','Auth\AdminLoginController@login')->name('admin.login.submit');

//logout
Route::post('/logout','Auth\AdminLoginController@logout')->name('admin.logout');

//register
Route::get('/register','Auth\AdminRegisterController@showRegistrationForm')->name('admin.register');
Route::get('/register','Auth\AdminRegisterController@register')->name('admin.register.submit');
/*
|--------------------------------------------------------------------------
| ADMINISTRACIÓN DE LOS TENANTS
|-------------------------------------------------------------------------
|
*/
Route::get('/tenants','TenantController@index')->name('admin.tenant.index');
Route::get('/tenants/new-tenant','TenantController@showForm')->name('admin.tenant.show');
Route::post('/tenants/done','TenantController@create')->name('admin.tenant.create');
Route::get('/tenants/{id}','TenantController@edit')->name('admin.tenant.edit');
Route::post('/tenants/{record_id}/update', 'TenantController@update')->name('admin.tenant.update');

Route::get('/posts/{id}','TenantController@deactivate')->name('admin.tenant.deactivate');
//sofdelete


/*
|--------------------------------------------------------------------------
| REPORTES
|-------------------------------------------------------------------------
|
*/
Route::get('/reports','ReportController@index')->name('admin.report.index');

//algo raro pasa aca
Route::get('/reports/pdf','ReportController@pdf');


});



//tenant
Route::domain('tecnotienda.localhost')->group(function () {
Route::get('/', function () {
return view('tecnotienda.welcome');
});

// Login Routes
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

});


I'm trying using a EnforceTenancy middleware just like this page https://www.seismicpixels.com/creating-a-laravel-saas-framework-part-3
but...it has no effect


Resume: i need to group routes by subdomain give by tenant fqdn. Can you help me?



My Answer:
php
Route::domain('localhost')->group(function () {
Route::get('/', function () {
return 'Welcome to the principal app';
});
});

Route::domain('tecnotienda.localhost')->group(function () {
Route::get('/', function () {
return 'Welcome to the subdomain app';
});
});

Rate this post

5 of 5 based on 5953 votes

Comments




© 2024 Hayatsk.info - Personal Blogs Platform. All Rights Reserved.
Create blog  |  Privacy Policy  |  Terms & Conditions  |  Contact Us