2016-10-23 2 views
0

Я создаю блог, который будет иметь сообщения, категории, комментарии и комментарии.Laravel 5.3: Создание PostCommentsController для блога

На данный момент я имею следующее в

PostCommentsController.php

public function show($id) 
{ 
    $post = Post::findOrFail($id);  
    $comments = $post->blog_comments; 
    return view('admin.comments.show', compact('comments')); 
} 

Моя проблема, я изменил столбец внутри таблицы Сообщение для сообщения дан, который отличается от ожидаемого в Laravel post_id при использовании $ id, правильно?

Как я могу продолжить в этом случае, чтобы сделать эту работу?

+0

вы имеете в виду ваш основной индекс изменился с id на postID? –

ответ

1

Попробуйте это, я предполагаю, что у вас есть модель post.php, BlogComment.php. В модели файл Post.php

public function blog_comments() 
{ 
    return $this->hasMany(BLogComments::class,'postID') 
} 

Надеется, что это поможет

+0

Конечно, у меня это внутри столба модели: ' публичная функция комментариев() { возвращение $ this-> hasMany ('App \ Комментарий'); } будет перенастроить для всех функций следующим образом, и пусть вы знаете, результат как можно скорее: публичной функции комментариев() { возвращения $ this-> hasMany ('App \ Комментарий', 'сообщения дан'); } ' – brotherperes

+0

просто передайте второй атрибут PostID, иначе он примет значение laravel по умолчанию, как вы указали tableName_id (post_id) – Vikash

+0

спасибо, это сработало! – brotherperes

0

Если я понимаю правильно, вы можете выбрать первичный ключ в классе любой модели, просто нужно изменить переменную

protected $primaryKey = 'id'; // For you case it will be 'post_id' 
+0

class Post extends Model { // protected $ table = 'blog_posts'; protected $ primaryKey = 'blogPostID'; – brotherperes

Смежные вопросы