我在Laravel上尝试,我在教程中找到了这个,其中我从一个表中获得了值。
我必须将第1表中的每一列的值与第2表的值进行比较,例如第1表的状态为1,它将检查状态类型表的id为1,在本例中,1是挂起的,因此datatable将显示“未决”而不是数字1。
下面是主计长的代码:
public function index()
{
$documents = Documents::all();
$status = Status::all();
return view('document/index', compact('documents', 'status'));
}
public function getDocs(Request $request)
{
if ($request->ajax()) {
$docs = Documents::latest()->get();
return Datatables::of($docs)
->addIndexColumn()
->addColumn('action', function($row){
$actionBtn = '<a href="javascript:void(0)" class="edit btn btn-success btn-sm">Edit</a> <a href="javascript:void(0)" class="delete btn btn-danger btn-sm">Delete</a>';
return $actionBtn;
})
->rawColumns(['action'])
->make(true);
}
}以下是文档/索引视图中的内容:
$(function () {
var table = $('.yajra-datatable').DataTable({
processing: true,
serverSide: true,
ajax: "{{ route('documents.list') }}",
columns: [
{data: 'id', name: 'id'},
{data: 'status', name: 'status'}
]
});
});发布于 2021-03-14 01:40:50
首先定义状态与文档模型之间的关系
地位模式:
public function docs(){
return $this->hasMany(Documents::class);
}文件模式:
public function state(){
return $this->belongsTo(Status::class, 'status');
# 'status' is the name of foreign key on documents table
}文件主计长:
public function getDocs(Request $request)
{
if ($request->ajax()) {
$docs = Documents::with('state')->select('documents.*')->latest();
# Here 'documents' is the name of table for Documents Model
# And 'state' is the name of relation on Document Model.
return Datatables::of($docs)
->addIndexColumn()
->addColumn('status_str', function($row){
# 'name' is the field in table of Status Model
return $row->state->name;
})
->addColumn('action', function($row){
$actionBtn = '<a href="javascript:void(0)" class="edit btn btn-success btn-sm">Edit</a> <a href="javascript:void(0)" class="delete btn btn-danger btn-sm">Delete</a>';
return $actionBtn;
})
->rawColumns(['action'])
->make(true);
}
}索引视图:
$(function () {
var table = $('.yajra-datatable').DataTable({
processing: true,
serverSide: true,
ajax: "{{ route('documents.list') }}",
columns: [
{data: 'id', name: 'id'},
{data: 'status_str', name: 'state.name'}
]
});
});https://stackoverflow.com/questions/66620125
复制相似问题