Step 1: Add Table and Model
we require to create new table "posts" that way we will get data from this table, you can use your own table but this is for example. we have to create migration for posts table using Laravel 5 php artisan command, so first fire bellow command:
php artisan make:migration create_post_table
After this command you will find one file in following path database/migrations and you have to put bellow code in your migration file for create posts table.
use Illuminate\Database\Schema\Blueprint;use Illuminate\Database\Migrations\Migration;class CreatePostTable extends Migration{/*** Run the migrations.** @return void*/public function up(){Schema::create('posts', function (Blueprint $table) {$table->increments('id');$table->string('title');$table->text('description');$table->timestamps();});}/*** Reverse the migrations.** @return void*/public function down(){Schema::drop("posts");}}
Ok, now we have to run migration using laravel artisan command:
php artisan migrate
Now, we require to create table model for posts table, so fist create new Post.php in your app directory as like bellow:
app/Post.php
namespace App;use Illuminate\Database\Eloquent\Model;class Post extends Model{public $fillable = ['title','description'];}
Step 2: Add Route
In this is step we need to add route for generate view. so open your app/Http/routes.php file and add following route.
Route::get('my-post', 'PostController@myPost');
Step 3: Create Controller
If you haven't PostController then we should create new controller as PostController in this path app/Http/Controllers/PostController.php. Make sure you should have posts table with some data. this controller will manage data and view file, so put bellow content in controller file:
app/Http/Controllers/PostController.php
namespace App\Http\Controllers;use Illuminate\Http\Request;use App\Http\Requests;use App\Post;class PostController extends Controller{public function myPost(Request $request){$posts = Post::paginate(5);if ($request->ajax()) {$view = view('data',compact('posts'))->render();return response()->json(['html'=>$view]);}return view('my-post',compact('posts'));}}
Step 4: Create View Files
In last step, we have to create view two file "my-post.blade.php" for main view and another for data, so first create my-post.blade.php file:
resources/view/my-post.php
Laravel infinite scroll pagination rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
class="container">
class="text-center">Laravel infinite scroll pagination
class="col-md-12" id="post-data">
@include('data')
class="ajax-load text-center" style="display:none">
src="http://demo.itsolutionstuff.com/plugin/loader.gif">Loading More post
resources/view/data.php
@foreach($posts as $post){{ str_limit($post->description, 400) }}
class="text-right">
style="margin-top:5px;">
@endforeach
Ok, now you can check and test.....
https://www.itsolutionstuff.com/post/how-to-implement-infinite-ajax-scroll-pagination-in-laravel-5example.html