我有一个ajax函数,它的工作是在我存储时在数据表中追加一行。问题是当它附加时,显然它会附加输入的内容。但是我希望所有的外键都与它的名字相对应。
例如..
用户的工作ID是5 ...所以在ajax中我想追加$ user-> job-> name
我可以在ajax中调用模型吗?
这就是我的ajax看起来像btw ..
$.ajax({
type: 'POST',
url: '{{ ('/users') }}',
data: {
'_token': $('input[name=_token]').val(),
'name': $('input[name=user_name]').val(),
'email': $('input[name=user_email]').val(),
'password': $('input[name=user_password]').val(),
'role_id': $('#user_role option:selected').val(),
'team_id': $('#user_team option:selected').val()
}}).done(function( data ) {
//add rows in modal
$('#userTable').append("<tr class='item" + data.id + "'><td align='center'><input type='checkbox' class='i-checks' name='input[]' value='"+data.name+"'> </td><td>" + data.name + "</td><td>" + data.email + "</td><td>" + data.role_id + "</td><td>" + data.team_id + "</td><td>" + data.team_id + "</td><td><a data-toggle='modal' href='#modal-edit-" + data.id +"'><i class='fa fa-pencil'></i> Edit</a></td><td><button class='edit-modal btn btn-info' id='editUser' data-id='" + data.id + "' data-name='" + data.name + "'><span class='glyphicon glyphicon-edit'></span> Edit</button></td></tr>");
//clear the modal
$("#modal-add-user").find("input,select").val('').end();
});
答案 0 :(得分:0)
如果您想要取回用户和&amp;你需要实现的工作细节,但不一样(请使用适当的输入和异常处理):
Laravel控制器:
public function add(Request $request) {
$user = new User();
// Validate & add user, make sure you validate relationship id's
$user->save();
return response()->json(['user' => $user, 'roleEquivalents' => $user->role->name]); // This returns a nicely structured object
}
有关返回JSON对象的更多信息,请参阅Laravel的HTTP Response documentation。
<强> JQuery的强>
$.ajax({
type: 'POST',
url: '{{ ('/users') }}',
data: {
'_token': $('input[name=_token]').val(),
'name': $('input[name=user_name]').val(),
'email': $('input[name=user_email]').val(),
'password': $('input[name=user_password]').val(),
'role_id': $('#user_role option:selected').val(),
'team_id': $('#user_team option:selected').val()
},
error: function (xhr, ajaxOptions, thrownError) {
// You should throw an error from Laravel if it failed validation
}}).done(function( data ) {
if (data) { // If it failed we don't have data
var user = data.user;
var roleEquivalents = data.roleEquivalents; // This is your role name
//add rows in modal
$('#userTable').append("<tr class='item" + user.id + "'><td align='center'><input type='checkbox' class='i-checks' name='input[]' value='"+user.name+"'> </td><td>" + user.name + "</td><td>" + user.email + "</td><td>" + user.role_id + "</td><td>" + user.team_id + "</td><td>" + user.team_id + "</td><td><a data-toggle='modal' href='#modal-edit-" + user.id +"'><i class='fa fa-pencil'></i> Edit</a></td><td><button class='edit-modal btn btn-info' id='editUser' data-id='" + user.id + "' data-name='" + user.name + "'><span class='glyphicon glyphicon-edit'></span> Edit</button></td></tr>");
//clear the modal
$("#modal-add-user").find("input,select").val('').end();
}
});
看起来你还有另一个Team对象,你可以用同样的方式返回它。