i am trying to make access on link http://localhost/newsapp_api/public/api/comments/posts/167 ,after this this error shows me. error in this line: $comments = $post->comments()->paginate( env( 'COMMENTS_PER_PAGE' ) ); after this this error shows me.
error in this line: $comments = $post->comments()->paginate( env( 'COMMENTS_PER_PAGE' ) ); after this this error shows me.
**api.php**
<?php
namespace App\Database\routes\api;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Illuminate\Routing\Controller;
use App\Http\Controllers\Api;
Route::get( 'posts' , 'App\Http\Controllers\Api\PostController@index' );
Route::get( 'posts/{id}' , 'App\Http\Controllers\Api\PostController@show' );
Route::get( 'comments/posts/{id}' , 'App\Http\Controllers\Api\PostController@comments');
**PostController**
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Http\Resources\CategoriesResource;
use App\Http\Resources\CommentsResource;
use App\Http\Resources\PostResource;
use App\Http\Resources\PostsResource;
use App\Models\Post;
class PostController extends Controller
{
public function index()
{ $posts = Post::paginate( env('POSTS_PER_PAGE') );
return new PostsResource( $posts );
}
public function store(Request $request) {}
public function show($id)
{ return Post::whereId($id)->first(); }
public function update(Request $request, $id) { }
public function destroy($id){ }
public function comments( $id ){
// $post = Post::find( $id );
$post = Post::whereId($id)->first();
$comments = $post->comments()->paginate( env( 'COMMENTS_PER_PAGE' ) );
return new CommentsResource( $comments );
}
}
**Post.php**
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class post extends Model
{use HasFactory;
protected $fillable = [
'title' , 'content' , 'date_written' ,
'featured_image' , 'votes_up' , 'votes_down' ,
'user_id' , 'category_id'
];
public function author(){
return $this->belongsTo( User::class );
}
public function comments(){
return $this->hasMany( Comment::class );
}
public function category(){
return $this->belongsTo( Category::class );
}
}
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire