我是这个laravel的新手。我有来自其他开发人员的代码。现在,客户希望更新订单表格产品,将产品列入复选框。
此处产品刀片的外观如下:
<input type="checkbox" name="product[]" value="{{ $pp->name }}"> {{ $pp->name }}<br />
以下是控制器:结果打印出“ARRAY”。任何人都可以帮我如何从复选框中获取产品数组值。
function post_sendorder(){
$rules = array(
'name' => 'required|min:2',
'email' => 'required|email',
'phone' => 'required|alpha_dash',
'message' => 'required|min:5',
'product' => 'required'
);
$v = Validator::make(Input::all(), $rules);
$v = $v->fails() ? $v : true;
if($v !== true) return Redirect::to_route('prods')->with_errors($v->errors)->with_input()->with('show_order',true);
Message::send(function($message){
$message->to('mail@gmail.com');
$message->from(Input::get('email'), Input::get('name'));
$message->subject('Keratin Product Order Form');
$message->body(
'<!doctype html>
<html>
<body>'.
'Name: '.Input::get('name').'<br />'.
'Email: '.Input::get('email').'<br />'.
'Phone: '.Input::get('phone').'<br />'.
'Product Ordered:' .Input::get('product'). '<br />'.
'Message: '.Input::get('message').'<br />'.
'</body>
</html>'
);
$message->html(true);
});
if(Message::was_sent()){
return Redirect::to_route('prods')->with('s-message','Your Order Form has been successfully sent!')->with('show_order',true);
}else{
return Redirect::to_route('prods')->with('e-message','Sending Failed!')->with('show_order',true);
}
}
答案 0 :(得分:1)
Input::get('product')
是产品名称数组(name="product[]" value="{{ $pp->name }}"
)。
而不是'Product Ordered:' .Input::get('product')
你需要
'Products Ordered:' . implode(', ', Input::get('product'))