Laravel单击链接可添加到url
好的,我有个小问题 当用户点击一个链接时,它会转到website/create/business,这很好,但是如果没有做任何事情,但再次点击该链接,它会转到website/create/business/create/business,无论出于什么原因Laravel单击链接可添加到url,laravel,laravel-5,blade,laravel-blade,Laravel,Laravel 5,Blade,Laravel Blade,好的,我有个小问题 当用户点击一个链接时,它会转到website/create/business,这很好,但是如果没有做任何事情,但再次点击该链接,它会转到website/create/business/create/business,无论出于什么原因 <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
{{ Auth::user()->name }} <span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="profile/{{Auth::user()->id}}">Profile</a>
<a href="create/business/">Add Business</a>
<a href="{{ url('/logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
Logout
</a>
<form id="logout-form" <a href="{{ url('home') }}" action="{{ url('/logout') }}" method="POST" style="display: none;">
{{ csrf_field() }}
</form>
</li>
</ul>
</li>
配置文件控制器:
public function checkid($user_id) {
if (Auth::check())
{
$user_id = Auth::id();
return view('profile', [
'id' => $user_id
]);
}
}
function updateProfile(Request $request) {
$user = $request->user();
$twitter = $request->input('twitter');
$facebook = $request->input('facebook');
$instagram = $request->input('instagram');
$telephone = $request->input('telephone');
$user->twitter_personal = $twitter;
$user->facebook_personal = $facebook;
$user->instagram_personal = $instagram;
$user->telephone = $telephone;
$result = $user->save();
if($result) {
$message = 'success';
}else{
$message = 'error';
}
return redirect()->back()->withInput()->with('message', $message);
}
function addBusiness() {
return view('addBusiness');
}
function createBusiness(Request $request) {
$name = $request->input('name');
$type = $request->input('type');
$email = $request->input('email');
$user_id = Auth::id();
$business = new Business();
$business->name = $name;
$business->type = $type;
$business->email = $email;
$business->user_id = $user_id;
$business->save();
$address1 = $request->input('address1');
$address2 = $request->input('address2');
$town = $request->input('town');
$city = $request->input('city');
$postcode = $request->input('postcode');
$telephone = $request->input('telephone');
$address = new Address();
$address->firstline_address = $address1;
$address->secondline_address = $address2;
$address->town = $town;
$address->city = $city;
$address->postcode = $postcode;
$address->telephone = $telephone;
$address->save();
$result = $business->save();
$result2 = $address->save();
$business_id = $business->id;
$address_id = $address->id;
DB::table('business_address')->insert(array('business_id' => $business_id, 'address_id' => $address_id));
DB::table('user_business')->insert(array('user_id' => $user_id, 'business_id' => $business_id));
if($result && $result2) {
$message = 'success';
}else{
$message = 'error';
}
return redirect()->back()->withInput()->with('message', $message);
}
业务控制员:
public function checkid($user_id) {
if (Auth::check())
{
$user_id = Auth::id();
return view('profile', [
'id' => $user_id
]);
}
}
function updateProfile(Request $request) {
$user = $request->user();
$twitter = $request->input('twitter');
$facebook = $request->input('facebook');
$instagram = $request->input('instagram');
$telephone = $request->input('telephone');
$user->twitter_personal = $twitter;
$user->facebook_personal = $facebook;
$user->instagram_personal = $instagram;
$user->telephone = $telephone;
$result = $user->save();
if($result) {
$message = 'success';
}else{
$message = 'error';
}
return redirect()->back()->withInput()->with('message', $message);
}
function addBusiness() {
return view('addBusiness');
}
function createBusiness(Request $request) {
$name = $request->input('name');
$type = $request->input('type');
$email = $request->input('email');
$user_id = Auth::id();
$business = new Business();
$business->name = $name;
$business->type = $type;
$business->email = $email;
$business->user_id = $user_id;
$business->save();
$address1 = $request->input('address1');
$address2 = $request->input('address2');
$town = $request->input('town');
$city = $request->input('city');
$postcode = $request->input('postcode');
$telephone = $request->input('telephone');
$address = new Address();
$address->firstline_address = $address1;
$address->secondline_address = $address2;
$address->town = $town;
$address->city = $city;
$address->postcode = $postcode;
$address->telephone = $telephone;
$address->save();
$result = $business->save();
$result2 = $address->save();
$business_id = $business->id;
$address_id = $address->id;
DB::table('business_address')->insert(array('business_id' => $business_id, 'address_id' => $address_id));
DB::table('user_business')->insert(array('user_id' => $user_id, 'business_id' => $business_id));
if($result && $result2) {
$message = 'success';
}else{
$message = 'error';
}
return redirect()->back()->withInput()->with('message', $message);
}
必须是
才能解决此问题,因为您当前的链接是相对的,而不是绝对的,因此当您再次单击它时,相同的引用将添加到当前URL的末尾
无论如何,您应该以Laravel方式生成链接,以避免将来出现其他问题:
Route::get('create/business', 'BusinessController@addBusiness');
<a href="{{ url('create/business') }}">
Route::get('create/business','BusinessController@addBusiness');
或
Route::get('create/business','BusinessController@addBusiness')->name('createBusiness');
就我个人而言,我更喜欢第二个,因此如果我更改路由URL,链接仍然有效,但需要在路由定义中添加名称(“yourRoute”)
。
必须是
才能解决这个问题,因为当前链接是相对的,而不是绝对的,所以当您再次单击它时,在当前URL的末尾添加了相同的引用
无论如何,您应该以Laravel方式生成链接,以避免将来出现其他问题:
Route::get('create/business', 'BusinessController@addBusiness');
<a href="{{ url('create/business') }}">
Route::get('create/business','BusinessController@addBusiness');
或
Route::get('create/business','BusinessController@addBusiness')->name('createBusiness');
就我个人而言,我更喜欢第二个,因此如果我更改路由URL,链接仍然有效,但它需要在路由定义中添加name('yourRoute')
。尝试使用route()
函数。对于此示例:
。当路线更改时,它将在整个应用程序中自动更改
您可以这样命名您的路线:
Route::get('create/bussiness', [
'as' => 'my_route_name',
'uses' => 'BusinessController@createBusiness'
]);
尝试使用route()
函数。对于此示例:
。当路线更改时,它将在整个应用程序中自动更改
您可以这样命名您的路线:
Route::get('create/bussiness', [
'as' => 'my_route_name',
'uses' => 'BusinessController@createBusiness'
]);
您还应该添加一个关于如何为此路由命名的部分,否则它没有帮助。您还应该添加一个关于如何为此路由命名的部分,否则它没有帮助。这个链接如何@Przemek您不能在小胡子中使用小胡子,所以应该是
这个链接怎么样@Przemek您不能在胡子中使用胡子,因此它应该是