Skip to content

Instantly share code, notes, and snippets.

View bishoyAtif's full-sized avatar

BishoyAtif bishoyAtif

View GitHub Profile
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $fillable = ['title', 'content', 'user_id'];
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Comment extends Model
{
protected $fillable = ['content', 'user_id'];
<?php
namespace App\Http\Controllers\Ajax;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use DataTables;
use App\Post;
class PostController extends Controller
<div class="container" style="margin-top: 50px">
<table id="demo_table" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th>#</th>
<th>Title</th>
<th>User Name</th>
<th>Comments Number</th>
<th>Actions</th>
</tr>
$(document).ready( function () {
$('#demo_table').DataTable({
"processing": true,
"serverSide": true,
"ajax": '{{ route('ajax.posts.index') }}',
"columns": [
{ "data": "id" },
{ "data": "title" },
{ "data": "user_name" },
{ "data": "comments_num" },
<table id="demo_table" class="display" style="width:100%">
<thead>
<tr>
<th>#</th>
<th>Title</th>
<th>User Id</th>
<th>Comments Number</th>
</tr>
</thead>
</table>
<?php
->addColumn('edit_url', function($row){
return route('posts.edit', $row->id);
})
->addColumn('delete_url', function($row){
return route('posts.destroy', $row->id);
})
{ data: null,
render: function(data){
var edit_button = '<a href="' + data.edit_url + '" class="btn btn-primary" role="button" aria-pressed="true">Edit</a>';
var delete_button = '<form action="' + data.delete_url + '" method="POST"><input type="hidden" name="_method" value="delete">{{csrf_field()}}<button type="submit" class="btn btn-danger">Delete</button>';
return edit_button + delete_button;
}
},
<form action="{!! $deleteUrl !!}" method="POST">
<input type="hidden" name="_method" value="delete">
{{ csrf_field() }}
<button type="submit" class="btn btn-danger">Delete</button>
</form>
<a href="{!! $editUrl !!}" class="btn btn-primary" role="button" aria-pressed="true">Edit</a>
<?php
->addColumn('actions', function($row){
$editUrl = route('posts.edit', $row->id);
$deleteUrl = route('posts.destroy', $row->id);
return view('_formActions', compact('editUrl', 'deleteUrl'));
})