【问题标题】:Laravel yajrabox - how to add a column which render a blade file?Laravel yajrabox - 如何添加渲染刀片文件的列?
【发布时间】:2021-06-11 05:06:11
【问题描述】:

我一直在研究这个 yajrabox 教程https://www.tutsmake.com/laravel-8-ajax-crud-using-datatable-tutorial/

作者如何为'company-action'添加一个新列,它是一个刀片文件。

public function index()
{
    if(request()->ajax()) {
        return datatables()->of(Company::select('*'))
        ->addColumn('action', 'company-action')
        ->rawColumns(['action'])
        ->addIndexColumn()
        ->make(true);
    }
    return view('companies');
}

但这是一个有缺陷的代码,因为他刚刚为字符串“company-action”添加了一个新列。

我可以通过在 Controller 中包含 html 代码来完成这项工作,但这会使 Controller 臃肿。

public function index()
{
    if(request()->ajax()) {
        return datatables()->of(Company::select('*'))
        ->addColumn('action', '
        <a href="javascript:void(0)" data-toggle="tooltip" onClick="editFunc({{ $id }})" data-original-title="Edit"
            class="edit btn btn-success edit">Edit</a>
        <a href="javascript:void(0);" id="delete-compnay" onClick="deleteFunc({{ $id }})" data-toggle="tooltip"
            data-original-title="Delete" class="delete btn btn-danger">Delete
        </a>
        ')
        ->rawColumns(['action'])
        ->addIndexColumn()
        ->make(true);
    }
    return view('company.company-index');
}

如何为这个刀片添加一个列,company-action.blade.php?

<a href="javascript:void(0)" data-toggle="tooltip" onClick="editFunc({{ $id }})" data-original-title="Edit" class="edit btn btn-success edit">
Edit
</a>
<a href="javascript:void(0);" id="delete-compnay" onClick="deleteFunc({{ $id }})" data-toggle="tooltip" data-original-title="Delete" class="delete btn btn-danger">
Delete
</a>

【问题讨论】:

  • 你的问题很清楚,但问题对我来说不是很清楚,请你再澄清一下吗?

标签: laravel yajra-datatable


【解决方案1】:

我刚刚解决了。

public function index()
{   
    $query = Company::select('*');
    if(request()->ajax()) {
        return datatables()->of($query)
        ->addColumn('action', function($row){
            return view('company-action')->with("id", $row->id);
        })
        ->rawColumns(['action'])
        ->addIndexColumn()
        ->make(true);
    }
    return view('companies');
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-04
    • 2018-10-03
    • 2015-03-05
    • 1970-01-01
    • 2019-02-04
    • 2023-04-08
    • 2016-02-27
    • 2016-07-13
    相关资源
    最近更新 更多