我在Laravel框架中遇到了我的组织的麻烦。
我的商店方法是这样的:
public function store(ProfileUpdateRequest $request, $id) {
$organizations = Input::only('organization');
foreach($organizations as $id) {
$data = array(
'organization_id' => $id,
'user_id' => Auth::user()->id
);
Organization_User::create($data);
}
}
HTML就像这样:
<select class="select-icons" tabindex="-1" name="organization"></select>
我使用select2 4. *来获取组织到现场的记录。
$('.select-icons').select2({
multiple: true,
minimumResultsForSearch: "-1",
ajax: {
url: '/api/v1/allorganizations',
dataType: "json",
type: "GET",
data: function (params) {
var queryParameters = {
term: params.term
}
return queryParameters;
},
processResults: function (data) {
return {
results: $.map(data, function (organization) {
return {
text: organization.name,
id: organization.id
}
})
};
}
},
formatResult: iconFormat,
minimumResultsForSearch: "-1",
width: '100%',
formatSelection: iconFormat,
escapeMarkup: function(m) { return m; }
});
问题是,无论我添加多少记录,它都只会添加一条记录(我首先选择的记录)。我该怎么办,自昨晚以来我一直在努力。 :d
答案 0 :(得分:0)
这里需要进行一些重构,以使这更多一点&#34; Laravely&#34;
collect($request->only('organization'))->each(function($id, $index) {
Organization_User::create([
'organization_id' => $id,
'user_id' => auth()->user()->id
]);
});
通过这种方式,您可以循环来自请求的结果。然后,我们将从$request->only('organization')
实例化一个集合,这将允许我们链接->each()
方法,返回组织的$id
,以及它在数组中的位置为由$index
表示。
我们使用auth()
而不是Auth::
,因为Auth::
将来会改变其他内容,至少我们可以希望auth()
帮助者不会#39;吨