【发布时间】:2015-10-16 05:18:46
【问题描述】:
我正在使用 jQuery 生成两个动态字段。每对字段都显示在页面上,并且可以有多个实例。在提交时(不是 ajax),每对字段与 Auth::id() 一起保存到它们自己的表行中。
HTML 代码中有两个表单,输入两个值,用户单击“添加链接”,然后 jQuery 创建两个隐藏字段(这些是提交的字段),输入的数据以可视方式显示(附加)到#link-list .原来的字段变成空的,这个过程可以重复...
我正在努力创建一个 eloquent 识别的数组以多次保存数据。
我收到错误“未定义索引:链接”或 jQuery 中的第二个输入行。
刀片/HTML:
{!! Form::open(['route' => ['multiple.store'], 'method' => 'post', 'role'=> 'form', 'class' => 'form']) !!}
<ul id="link-list">
<!-- append new rows -->
</ul>
<div id="newlink" class="form-inline">
<div class="form-group">
{!! Form::text('prestore', null, ['placeholder' => 'Store name', 'class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::text('prelink', null, ['placeholder' => 'Link / URL', 'class' => 'form-control']) !!}
</div>
<div class="form-group">
<button class="btn btn-primary submit new-row" type="button">Add store link</button>
</div>
</div>
<br/><br/>
{!! Form::submit('Submit rows', ['class' => 'btn btn-success submit']) !!}
{!! Form::close() !!}
jQuery/JavaScript
$(document).on('click', '.new-row', function() {
var store = $('#newlink input[name=prestore]').val();
var link = $('#newlink input[name=prelink]').val();
console.log(store, link);
$('<li class="not-saved">' +
'<a href="'+link+'">'+store+'</a>' +
'<input type="hidden" name="rows[][link]" value="' + link + '">' +
'<input type="hidden" name="rows[][store]" value="' + store + '">' +
'</li>').appendTo('#link-list').hide().fadeIn(280);
$('input[name=prestore]').val('');
$('input[name=prelink]').val('');
});
控制器:
public function store()
{
$input = Input::all();
foreach ($input['rows'] as $row) {
$items = new Multiple([
'user_id' => Auth::id(),
'store' => $row['store'],
'link' => $row['link'],
]);
$items->save();
}
}
【问题讨论】:
-
Multiple是什么类类型? Laravel 的Model类没有saveMany()方法。 -
那是我自己的课程,这只是一个测试仓库(测试多行保存,因此得名)。 saveMany() 是我的错误,但我什至无法到达那部分
-
关于 saveMany(),这是什么? laravel.com/docs/5.1/…
-
这是
HasOneOrMany或BelongsToMany类上的saveMany()方法,而不是模型本身。如果您在模型上设置了HasMany或BelongsToMany关系,则可以像$myModel->myRelationship()->saveMany($arrayOfRelatedModels)一样使用它。 -
酷 - 我会记住这一点。但是我仍然无法解决我原来的问题:/
标签: php jquery laravel laravel-5 eloquent