大家好,我是laravel的初学者,我想知道如何在表格中插入多个值,比如我的数据库上有一个 order_detail 表,它有 order_id,product_id,价格和总数,
我想插入一个多值,所以我创建表单,这样可以使用javascript添加
<?php for($x = 1;$x <=2; $x++){ ?>
{{ Form::text('', $x]) }}
{{ Form::text('pj[$x]order_id') }}
{{ Form::text('pj[$x]product_id) }}
{{ Form::text('pj[$x]price) }}
{{ Form::text('pj[$x]total) }}
{{ Form::submit('insert!') }}
<?php } ?>
然后我在 OrderDetailController
中尝试这样的事情$inputs = Input::get('pj');
if(DB::table('order_detail')->insert($inputs)){
return Redirect::route('admin.order_detail.index')
->with('message','success');
}
return Redirect::back()
->with('message','something went wrong')
->withInput();
但我只从输入中得到1个值,这是最后一个
ps:这是我第一次在这个论坛上提问,所以如果你需要任何信息,请随时问我,并原谅我的英语不好,提前谢谢!
答案 0 :(得分:0)
您可以打印输入吗?我会检查它。 或者试试这段代码:
public long readFileFromHDFS(String source) throws IOException {
Configuration obj = new Configuration();
obj.set("fs.default.name", "hdfs://127.0.0.1:9000");
FileSystem fs = FileSystem.get(obj);
Path sourcePath = new Path(fs.getHomeDirectory() + source + ".txt");
FSDataInputStream in = fs.open(sourcePath);
TestObject objj = null;
final long startTime = System.nanoTime();
try {
ObjectInputStream si = new ObjectInputStream(in);
objj = (TestObject) si.readObject();
objj.printHello();
si.close();
} catch (Exception e) {
System.out.println(e);
} finally {
in.close();
fs.close();
}
return System.nanoTime() - startTime;
}
答案 1 :(得分:0)
首先,您在代码中输入了错字:
{{ Form::text('pj[$x]product_id) }}
应该是:
{{ Form::text('pj[$x]product_id') }}
这会创建文本输入:
<input name="pj1product_id" type="text">
输入这样的名称你应该用PHP解析,但你可以使用表单字段数组。
未经测试的例子:
@for($x = 1;$x <=2; $x++)
{{ Form::text('', $x) }}
{{ Form::text('pj[][order_id]') }}
{{ Form::text('pj[][product_id]') }}
{{ Form::text('pj[][price]') }}
{{ Form::text('pj[][total]') }}
@endfor
{{ Form::submit('Insert') }}
和PHP:
$pj = Input::get('pj');
foreach($pj as $key=>$order) {
DB::table('order_detail')->insert($order);
}
答案 2 :(得分:0)
谢谢!非常感谢你们俩。 在这里,我将我的代码与两个代码的引用结合起来
我的表格
@for($x = 1; $x <=2; $x++)
{{ Form::text('', $x]) }}
{{ Form::text('pj['. $x .'][order_id]') }}
{{ Form::text('pj['. $x .'][product_id]') }}
{{ Form::text('pj['. $x .'][price]') }}
{{ Form::text('pj['. $x .'][total]') }}
@endfor
{{ Form::submit('insert!') }}
这是我的功能
$pj = Input::get('pj');
foreach($pj as $order) {
if(DB::table('order_detail')->insert($order)) {}
else {
return Redirect::route('admin.order_detail.index')->with('message','failed');
}
}
return Redirect::route('admin.order_detail.index')->with('message','success');