私は別々のロジックまたはアプリケーションのモジュールに別々のコントローラを持っていると思いますが、別のコントローラ内のコントローラを使用するのは良い方法ではありません。Laravel別のロジック用に別のコントローラを使用する
ここで私は困難に直面しています。
二つのコントローラをPagesControllerとPostsControllerの
をPagesControllerは、すべてのページに関連するタスクを処理があります。
class PagesController
{
public function index()
{
// method of our root request, get and show all posts
}
public function contactUs()
{
// show contact us page etc.
}
}
PostsControllerすべての記事を関連するタスクを処理します。
class PostsController
{
public function getPosts() {} // get all posts from database
public function deletePost($id) {} // delete a post
public function editPost($id) {} // edit a post
}
現在、ポストコントローラはすべてのポストの特定のタスクを処理し、ページコントローラはすべてのページ関連タスクを処理します。問題は、投稿コントローラgetPosts()メソッドを使用してすべての投稿を取得し、それらを表示することです。 PostsControllerのindex()メソッドの中でPostsControllerのgetPosts()メソッドを使用するにはどうすればいいですか?
片方向にPostsControllerを拡張して使用します。しかし、別のコントローラの方法も使用したい場合はどうでしょうか。
私はより良い方法を提供してください。
getPosts()メソッドはコントローラではないポストモデルに属します。 Postというモデルを作成し、そこにgetPostsモデルを作成すると、両方のコントローラでそれを使用できます。実際にあなたがPostモデルを持っていれば、代わりに 'Post :: all()'を実行することができます –