laravel-5 - 我想从控制器中的 ajax 请求到模块中生成具有其值的新列
问题描述
这是我的控制器中的 ajax 请求:
public function dtajax()
{
$users = User::all();
$users = DB::table('tc_users')
->join('users_tc_users','users_tc_users.tc_users_id', '=','tc_users.id')
->join('users','users.id', '=','users_tc_users.users_id')
->leftJoin('cars','cars.users_id', '=','users.id')
->groupBy('users.id')
->select(DB::raw("users.id as id , users.name as name , users.email as email , users.Expiration_Date as Expiration_Date , users.phone_number as phone_number ,users.allowedcar as allowedcar ,COUNT(cars.id) as cars_count "))
->get(array("users.id as id , users.name as name , users.email as email , users.Expiration_Date as Expiration_Date , users.phone_number as phone_number ,users.allowedcar as allowedcar,COUNT(cars.id) as cars_count "));
foreach ($users as $user){
echo $user->cars_count;
}
$values = DB::table('users')->select($this->listing_cols)->whereNull('deleted_at');
$out = Datatables::of($values)->make();
$data = $out->getData();
$fields_popup = ModuleFields::getModuleFields('Users');
for($i=0; $i < count($data->data); $i++) {
for ($j=0; $j < count($this->listing_cols); $j++) {
$col = $this->listing_cols[$j];
// $this->listing_cols->kk;
// echo $col['no_of_cars'];
if($fields_popup[$col] != null && starts_with($fields_popup[$col]->popup_vals, "@")) {
$data->data[$i][$j] = ModuleFields::getFieldValue($fields_popup[$col], $users, $data->data[$i][$j]);
// $data->data[$i][$j] .= 'yssss';
}
if($col == $this->view_col) {
$data->data[$i][$j] = '<a href="'.url(config('laraadmin.adminRoute') . '/users/'.$data->data[$i][0]).'">'.$data->data[$i][$j].'</a>';
}
// else if($col == "author") {
// $data->data[$i][$j];
// }
}
if($this->show_action) {
$output = '';
if(Module::hasAccess("Users", "edit")) {
$output .= '<a href="'.url(config('laraadmin.adminRoute') . '/users/'.$data->data[$i][0].'/edit').'" class="btn btn-warning btn-xs" style="display:inline;padding:2px 5px 3px 5px;"><i class="fa fa-edit"></i></a>';
}
if(Module::hasAccess("Users", "delete")) {
$output .= Form::open(['route' => [config('laraadmin.adminRoute') . '.users.destroy', $data->data[$i][0]], 'method' => 'delete', 'style'=>'display:inline']);
$output .= ' <button class="btn btn-danger btn-xs" type="submit"><i class="fa fa-times"></i></button>';
$output .= Form::close();
}
$data->data[$i][] = (string)$output;
}
}
$out->setData($data);
return $out;
}
这就是前面的ajax函数:
$(function () {
$("#example1").DataTable({
processing: true,
serverSide: true,
ajax: "{{ url(config('laraadmin.adminRoute') . '/user_dt_ajax') }}",
language: {
lengthMenu: "_MENU_",
search: "_INPUT_",
searchPlaceholder: "Search"
},
@if($show_actions)
columnDefs: [ { orderable: false, targets: [-1] }],
@endif
});
$("#user-add-form").validate({
});
});
</script>
我想要的只是添加一个名为的新列cars_count
并从上面的选择查询中插入它的值,我可以通过
foreach ($users as $user){
echo $user->cars_count;
}
我无法从视图中填充表格,因为它是由基本数据从 ajax 请求中填充的
解决方案
推荐阅读
- lumen - 如何在流明应用程序中添加 laravel\passport 修复 app/Models/User.php 中的错误?
- java - 序列化和反序列化具有 vavr 列表的 Java 对象
- ios - 我吊销了分销证书,但我无法创建新证书
- python - Python中的串行类型网络协议发送字符串?
- css - 如何隐藏一个绝对位置的元素?
- date - 在 Jenkins 中计算日期前 2 年
- stata - 如何在 Mata 中抛出错误并退出
- python - 如何避免在 Python 的导入语句中提及文件名?
- single-sign-on - 使用 saml 和 mod_auth_mellon 的 SSO
- php - FCM 目标条件语法