【发布时间】:2018-03-18 11:33:08
【问题描述】:
我正在尝试掌握使用 Eloquent ORM 的窍门,因此我正在使用 Slim3/Twig 从头开始创建一个简单的博客。我已经成功地创建了一个链接到两个表(用户表、帖子表)的用户模型和帖子模型,并且能够将博客帖子链接动态插入到我的“主页”树枝模板中。
namespace App\Controllers;
use App\Models\User;
use App\Models\Post;
use Slim\Views\Twig as View;
use Illuminate\Database\Eloquent\Model;
class StoryListController extends Controller
{
public function index($request, $response)
{
$posts = Post::join('users', 'posts.user_id', '=', 'users.id')->get();
return $this->container->view->render($response, 'home.twig', [
'posts' => $posts
]);
}
}
我已将一个变量传递给我的路由,因此我可以单击博客文章并让它呈现与正确的“id”对应的视图
$app->get('/', 'StoryListController:index')->setName('home');
$app->get('/stories/story/{postId}', 'StoryTemplateController:story')->setName('stories.story');
但在我的一生中,我无法正确访问控制器中的该变量。这是我尝试过的,不确定我是否朝着正确的方向前进。任何能让我重新开始的帮助都将不胜感激。
<?php
namespace App\Controllers;
use App\Models\User;
use App\Models\Post;
use Slim\Views\Twig as View;
use Illuminate\Database\Eloquent\Model;
class StoryTemplateController extends Controller
{
public function story($request, $response, $postId)
{
$post = Post::join('users', 'posts.user_id', '=', 'users.id')->where('posts.id', '=', '{postId}')->with(['postId' => $postId])->get();
return $this->container->view->render($response, '/stories/story.twig', [
'post' => $post
]);
}
}
【问题讨论】:
标签: php laravel-5 eloquent slim