LARAVEL 5.1
我想编辑具有ID和TktID的表格。
我想将这两个参数传递给我的TestController的编辑方法。
我的链接:
<a href="/sig/edit?id={{$value->id}}&ticketid={{$value->ticketid}}" title="Edit signature">
我的路线.php
Route::get('sig/edit{id}{ticketid}','TicketsController@edit');
控制器的编辑方法:
public function edit($id, $ticketid)
{
//
}
如何将route.php中的两个参数传递给控制器。
答案 0 :(得分:14)
你忘了结束括号
您的routes.php文件中有错误:
Route::get('sig/edit{id}{ticketid}', 'TicketsController@edit');
应该是:
Route::get('sig/edit/{id}/{ticketid}', 'TicketsController@edit');
注意编辑和 id 之后的正斜杠。
在视图中,它应该是以下任何一种:
<a href="{{ url('sig/edit/ ' . $value->id . '/' . $value->ticketid .')}}" title="Edit signature">
或者
<a href="/sig/edit/{$value->id}/{$value->ticketid}" title="Edit signature">
我希望这会帮助你。欢呼声。
答案 1 :(得分:4)
<a class="getValues" href="/sig/edit" title="Edit signature"/>Edit</a>
<input type="hidden" id="id" name="id" value"={{$value->id}}"/>
<input type="hidden" id="ticketid" name="ticketid" value="{{$value->ticketid}}"/>
jQuery(document).ready(function(){
var $id=jQuery('#id').val();
var $ticketid=jQuery('#ticketid').val();
jQuery('getValues').on('click',function(){
$.ajax({
url:'yourController/controller'sFunction',
data:{'id':$id,'ticketid':$ticketid},
}).success(function(response){
alert(rseponse);
});
})
});
将此行代码粘贴为控制器函数中的第一行...
$inputs = Input::all();
并获取输入值
echo $ticketid=$inputs['ticketid'];
echo "<br/>";
echo $id=$inputs['id'];
答案 2 :(得分:1)
<强>路线强>
Route::get('sig/edit{id}{ticketid}','TicketsController@edit')->name(sig.edit);
链接强>
<a href="{{route('sig.edit',[$value->id,$value->ticketid])}}" title="Edit signature">
答案 3 :(得分:1)
我发现这种方法可以使您的网址保持相同并访问多个参数
<a href="/sig/edit?id={{$value->id}}&ticketid={{$value->ticketid}}" title="Edit signature">
路线
Route::get('sig/edit', 'TicketsController@edit');
访问控制器中的参数值
控制器
public function edit(){
$id = Input::get('id');
$ticketId = Input::get('ticketid');
}
注意:在控制器中导入输入
use Illuminate\Support\Facades\Input;
答案 4 :(得分:0)
就我而言,我传递了两个这样的参数:
<强>路线强>
x
在LoanController中
Route::get('/add/{debitid}/{creditid}',
['as'=>'loan_add',
'uses'=>'LoanController@loanset']);
此示例可能会有所帮助。
答案 5 :(得分:0)
routes/web.php
文件中的-这对我有用。
Route::any('/documents/folder/{args?}', function($args){
$args = explode('/', $args);
return $args;
})->where('args', '(.*)');
它现在应该处理每个参数/参数。
希望它有效!
答案 6 :(得分:0)
在传递诸如?name = value 之类的参数时,无需为其设置路由,您可以通过依赖注入直接在控制器中访问它 strong>
您必须在班级上方添加
import tkinter as tk
LARGE_FONT = ("Verdana", 12)
class mainapp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
# self.geometry("800x600")
container = tk.Frame(self)
container.pack(side="top", fill="both", expand=True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F in (StartPage, NewData):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(StartPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.configure(background='white')
labeltop = tk.Label(self, text="Hello\n"
"Please Select a option:",
bg="white", fg="green", height=4, width=30, font=LARGE_FONT)
labeltop.grid(row=0, column=0, pady=10, padx=10, columnspan=2)
self.logo = tk.PhotoImage(file="logo.gif")
logolabel=tk.Label(self, image=self.logo)
logolabel.grid(row=0, column=3)
button1 = tk.Button(self, text="Option1", fg="White", bg="Green", height=6, width=30,
command=lambda: controller.show_frame(NewData))
button1.grid(row=1, column=0, padx=1, pady=10)
class NewData(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.configure(background='white')
label = tk.Label(self, text="Option1", font=LARGE_FONT)
label.grid(pady=10, padx=10)
button1 = tk.Button(self, text="Back to Home",
command=lambda: controller.show_frame(StartPage))
E1 = tk.Entry()
E1.pack()
button1.grid()
app = mainapp()
app.mainloop()
然后在控制器中注入它并按名称获取参数值:
use Illuminate\Http\Request;