【问题标题】:Is it possible to send some variable to the blade view in an addColumn ()?是否可以在 addColumn() 中将一些变量发送到刀片视图?
【发布时间】:2019-04-15 19:09:46
【问题描述】:

我的问题很简单,是否有可能通过 yajra 库的 addColumn() 函数将变量发送到刀片视图,用于数据表,类似于 compact()

示例代码:

return datatables()
  ->of($query)
  ->addColumn('Action','Actions.something')
  ->rawColumns(['Action'])
  ->toJson();

我正在寻找这样的东西:

$data = 'foobar';
return datatables()
  ->of($query)
  ->addColumn('Action','Actions.something', compact('data'))
  ->rawColumns(['Action'])
  ->toJson();

然后在我的刀片视图中执行类似的操作:

@if($data == 'foobar')
    something...
@else
    something...
@endif

【问题讨论】:

    标签: laravel yajra-datatable


    【解决方案1】:

    我找到了解决方案,也感谢不厌其烦阅读问题的人

    代码:

    $data = 'foobar';
    return datatables()
           ->of($query)
           ->addColumn('Action', function() use ($data){
               return view('Actions.something', compact('data'));
           })
           ->rawColumns(['Action'])
           ->toJson();
    

    查看(something.blade.php):

    @if (isset($data))  
        @if($data == 'foobar')
            <span>true</span>
        @else
            <span>false</span>
        @endif
    @endif
    

    【讨论】:

    • 通过这种方式我得到了新变量,但我无法访问我正在循环的模型变量......也许你可以解释或帮助?
    【解决方案2】:

    当我尝试用谷歌搜索这个问题时,这个问题是唯一出现的问题。我可以看到@lewis4u 的问题还没有解决。

    如果其他人遇到这种情况,以下代码 sn-p 将允许您访问模型变量。

    return datatables()
       ->of($query)
       ->addColumn('Action', function($row){
           return view('Actions.something', compact('row'));
       })
       ->rawColumns(['Action'])
       ->toJson();
    

    关键是将$row参数传递给函数。

    然后您可以在您的something.blade.php 视图中访问$row

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-04
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      • 1970-01-01
      • 1970-01-01
      • 2018-09-03
      相关资源
      最近更新 更多