То, что вы получаете от paginate()
, уже является коллекцией и больше не построителем запросов, поэтому вы не можете вызвать select()
для него. измените порядок вызовов методов, и у вас все будет в порядке.
$post = DB::table('posts')
->join('post_images','post_images.post_id','=','posts.id')
->join('categories','categories.id','=','posts.category_id')
->orderBy('posts.created_at','desc')
->select('posts.*','categories.title as category', 'post_images.image')
->paginate(15);
Кроме того, я бы посоветовал вам создать модель и отношения, если вы используете Laravel / Eloquent - все становится проще. Если после этого вам понадобятся дополнительные маги c, которые вы хотите иметь в нескольких местах, вам следует проверить область действия модели ?