我在数据表中为图像添加一个列,如下所示:
->addColumn('product_brand_logo', function ($product_brand) {
return '<img src="{{ URL::to('upload/image')'.$img->image.'" border="0" width="40" class="img-rounded" align="center" />';
它不在检查
中的输出| {{ URL::to('upload/image')imagename.png}}|
使用 laravel 5.3 , yajra datatable 6.0
答案 0 :(得分:2)
如果您使用的是数据表7.0
然后,您可以使用 rawColumns
return DataTables::of($artists)->addColumn('image', function ($artist) {
$url= asset('storage/'.$artist->image);
return '<img src="'.$url.'" border="0" width="40" class="img-rounded" align="center" />';
})->addColumn('action', function ($artist) {
return '<a href="/admin/artist/'.$artist->id.'/edit" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a>
<a href="admin/artist/"'.$artist->id .'" class="btn btn-xs btn-danger"><i class="glyphicon glyphicon-trash"></i> Delete</a> ';
})->rawColumns(['image', 'action'])->make(true);
答案 1 :(得分:1)
您未在{{
属性中关闭src
,请尝试以下操作:
->addColumn('product_brand_logo', function ($product_brand) {
$url=asset("uploads/image/$product_brand->image");
return '<img src='.$url.' border="0" width="40" class="img-rounded" align="center" />';
});
答案 2 :(得分:1)
要在DataTable中显示图像,我们需要在列上使用渲染功能来显示图像。您可以定义自己的渲染功能。在我们的例子中,我们想要渲染一个图像,如下所示,
render: function( data, type, full, meta ) {
return "<img src=\"/path/" + data + "\" height=\"50\"/>";
}
整体看起来像这样 -
<script>
$( function() {
$( '#users-table' ).DataTable( {
processing: true,
serverSide: true,
ajax: "{!! route('route_name') !!}",
columns: [
{ data: 'id', name: 'id' },
{ data: 'avatar', name: 'avatar',
render: function( data, type, full, meta ) {
return "<img src=\"/path/" + data + "\" height=\"50\"/>";
}
},
{ data: 'email', name: 'email' },
]
} );
} );
</script>
希望这有帮助
答案 3 :(得分:0)
我几乎遇到了同样的问题... UserController
中的以下代码解决了该问题。
在我的示例中,我没有将图像保存在数据库中,仅将要访问的图像名称与存储在我的项目中的图像名称一起保存...
很好..有效
->addColumn('image', function ($user) { $url=asset("uploads/image/$user->avatar");
return '<img src='.$url.' border="0" width="40" class="img-rounded" align="center" />'; });
答案 4 :(得分:0)
您可以通过以下代码来实现
{data: 'logo', name: 'logo',
render: function( data, type, full, meta ) {
return "<img src=\"/images/clients/" + data + "\" height=\"150\"
alt='No Image'/>";
}
}