Level 8
What i normally do add buttons is to use the addColumn function of DataTables, here is a sample that returns a couple of buttons and a link to a picture:
public function getAlbums(Request $request)
{
$albums = Albums::where('users_id', Auth::user()->id);
return DataTables::of($albums)
->addColumn('actions', function ($albums) {
return '<a href="/albumsDetail/manageAlbum/' . $albums->id . '" class="btn btn-xs btn-success">' . trans('buttons.Edit') . '</a>' .
'<form action="/albums/' . $albums->id . '" method="post">' . csrf_field() . ' ' . method_field('DELETE') . '<button type="submit" class="btn btn-xs btn-danger">' . trans('buttons.Delete') . '</button></form>';
})
->addColumn('cover', function ($albums) {
return '<img src="' . url('storage/' . $albums->cover()) . '" alt="Not Selected" class="img-thumbnail" width=100>';
})
->addColumn('pictures', function ($albums) {
return $albums->pictures()->count();
})
->addColumn('selectFamily', function ($albums) {
return $albums->family ? "Yes" : "No";
})
->addColumn('selectPublic', function ($albums) {
return $albums->public ? "Yes" : "No";
})
->rawColumns(['actions', 'cover'])
->make(true);
}