conflit de route dans mon projet
bonsoir à la grande famille laravel j'ai un gros problème avec mon projet en faite j'ai 2 tables qui ont le même nombre de champ, les mêmes action (suprimer, modifier, ajouter) la première table s'appelle juge et la deuxieme section j'ai bien fait les distinction sur les routes, les vues, les formulaiers les problèmes c'est que une seule pages s'affiche et l'autre affiche une erreur 404 quand je bloque les route de l'autre page l'autre passe comment faire aidé moi merci
Salut,
Je pense qu'il doit y avoir un problème dans les routes, mais sans voir de code on peut pas trop t'aider...
OK VOICI LES DEUX TABLE EN CODE
Route::get('juge', 'jugecontroller@index');
Route::get('createj', 'jugecontroller@create');
Route::post('juge', 'jugecontroller@store');
Route::get('{juge}', 'jugecontroller@show');
Route::get('{juge}/edit', 'jugecontroller@edit');
Route::patch('{juge}', 'jugecontroller@update');
Route::delete('{juge}', 'jugecontroller@destroy');
Route::get('section', 'sectioncontroller@index');
Route::get('section', 'sectioncontroller@index');
Route::get('createse', 'sectioncontroller@create');
Route::post('section', 'sectioncontroller@store');
Route::get('{section}', 'sectioncontroller@show');
Route::get('{section}/edit', 'sectioncontroller@edit');
Route::patch('{section}', 'sectioncontroller@update');
Route::delete('{section}', 'sectioncontroller@destroy');
namespace App\Http\Controllers; use App\juge; use Illuminate\Http\Request; class jugecontroller extends Controller{ public function index(){ $juge = juge::all(); return view('juge', ['juge'=> $juge]);} public function create(){$juge = new juge(); return view('createj', compact('juge'));}
public function store(){$data= request()->validate(['name_juge'=>'required']); juge::create($data);return back();}
public function show(juge $juge){return view('showj', compact('juge'));}
public function edit(juge $juge){return view('editj', compact('juge'));}
public function update(juge $juge){ $data= request()->validate(['name_juge'=>'required']);
$juge->update($data); return redirect($juge->id);}
public function destroy(juge $juge){ $juge->delete(); return redirect('juge');}
}
class sectioncontroller extends Controller { public function create(){$section = new section(); return view('createse', compact('section'));}
public function index(){ $section = section::all(); return view('section', ['section'=> $section]);}
public function store(){$data= request()->validate(['name_section'=>'required']); section::create($data);return back();}
public function show(section $section){ return view('showse', compact('section'));}
public function edit(section $section){ return view('editse', compact('section'));}
public function update(section $section){ $datas= request()->validate(['name_section'=>'required']); $section->update($data); return redirect($section->id);}
public function destroy(section $section){
$section->delete(); return redirect('section');}
}
Salut,
Il y a un souci dans les routes, par exemple quand on a ça :
Route::get('{juge}', 'jugecontroller@show');
...
Route::get('section', 'sectioncontroller@index');
La seconde route ne sera jamais atteinte parce que 'section' va être intercepté par la première route.
BONJOUR MONSIEUR MERCI POUR VOTRE PREMIER AIDE COMMENT FAIRE MAINTEMANT POUIR RESOUDRE CE PROBLEME
Route::get('juge', 'jugecontroller@index'); Route::get('section', 'sectioncontroller@index'); Route::post('juge', 'jugecontroller@store'); Route::post('section', 'sectioncontroller@store'); Route::get('createj', 'jugecontroller@create'); Route::get('createse', 'sectioncontroller@create'); Route::get('{juge}', 'jugecontroller@show');
Route::get('{juge}/edit', 'jugecontroller@edit');
Route::patch('{juge}', 'jugecontroller@update');
Route::delete('{juge}', 'jugecontroller@destroy'); Route::delete('{section}', 'sectioncontroller@destroy');
Route::get('{section}', 'sectioncontroller@show'); Route::get('{section}/edit', 'sectioncontroller@edit'); Route::patch('{section}', 'sectioncontroller@update');
VOICI OMMENT J'AI INTERVERTI L'ORDRE MAIS D'AUTRE PAGES DONNENT ET D'AUTRE NE PAS SURTOUT LES PAGES DE LA TABLE SECTION
Salut,
Le plus simple serait d'utiliser deux ressources :
Route::resources([
'juges' => 'jugecontroller',
'sections' => 'sectioncontroller'
]);
Les routes seront créées de façon classique et il n'y aura aucun mélange.
BONJOUR MONSIEUR BETMOMO MERCI POUR L'AIDE SVP JE REDIGE LA SYNTAXE COMME CA MAINTENANT PAR EXEMPLE Route::get(['juge', 'jugecontroller@index']); C'EST COMME CA
Salut,
La syntaxe que je t'ai mise avant génère déjà toutes les routes. Vérifie avec un php artisan route:list.
Salut,
Comme l'a dit bestmomo, ta route
Route::get('{juge}', 'jugecontroller@show');
crée une erreur car quand tu met
Route::get('{variable}', 'controller@action');
TOUTES tes routes correspondront à ça. Et en plus tu as plusieurs routes qui commencent par Route::methode('{variable}',
Tu peux dont soit mettre un prefixe sur tes routes où il n'y a qu'une variable genre
Route::get('juge/{juge}', 'jugecontroller@show');
au lieu de
Route::get('{juge}', 'jugecontroller@show');
mais dans ce cas, il faut que tu déclare ta route
Route::get('{juge}', 'jugecontroller@show');
avant
Route::get('juge', 'jugecontroller@index');
pour éviter les conflits. Et tu fait ça pour toutes tes routes qui commencent par une variable
{variable}
Ou alors tu utilise la solution de bestmomo et tu supprime (ou au moins tu commente) toutes tes routes et tu met
Route::resources([
'juges' => 'jugecontroller',
'sections' => 'sectioncontroller'
]);
et tu fais un
php artisan route:list
en ligne de commande pour vérifier que les routes créées correspondent à tes routes précédentes.
OK MERCI POUR VOTRE AIDE
svp voici un formulaire le code
<input type="text" name="num_rg"placeholder='N° AD/ DP'>
Enregistre
voici le code
Bonjour,
J'ai écrit cet article concernant les formulaires dynamiques. Il faut envoyer une requête en Ajax à chaque changement pour actualiser les données.
///@extends('layout') @section('content')
<input type="text" name="num_rg"placeholder='N° AD/ DP'>
Enregistre
@Nchanjepaularmel ce forum utilise le moteur blade donc si tu poste du code, il sera interprété... C'est contraignant mais c'est comme ça. Il faut volontairement faire des fautes de syntaxe pour que ton code ne soit pas inetrprété
@bestmomo,
Dans ton article, tu renvoi les données des villes directement, sans passer par un formatage Json,
return City::whereCountryId($id)->get();
N'a tu jamais eu de souci pour le traitement des données retourné du côté javascript ?
Alors que de mon côté j'utilise comme cela
return response()->json(City::whereCountryId($id)->get());
Salut,
Eloquent transforme automatiquement la réponse en JSON du coup je n'ai jamais eu de souci.
Ok, y'a bien une subtilité alors, il faut que ce soit une collection d'objet eloquent :)
Merci pour ce tuyau !
bonsoir bestmomocomment allez vous j'ai parcouru votre tuto mais j'ai un soucis : mon problème est le suivant j'ai deux table une audience et l'autre section et dans section il a y matière voioci le code `@csrf
@error('document')
comment evite les doublon lors de l'enregistement SVP une suit un debut sur laravel merci
Vous ne pouvez pas répondre à ce sujet.