我有一张推荐表,我想在我的Laravel 4项目的主页上显示。通常我会运行一个查询来获取随机行:
SELECT * FROM `testimonials` WHERE `id`=".mt_rand(1,3);
但是我在尝试运行它时遇到了这个错误:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '".mt_rand(1,3)' at line 1 (SQL: SELECT * FROM `testimonials` WHERE `id`=".mt_rand(1,3);) (Bindings: array ( 0 => 1, ))
这是我的控制器:
public function showHome()
{
DB::select('SELECT * FROM `testimonials` WHERE `id`=".mt_rand(1,3);', array(1));
return View::make('home.index', array('pageTitle' => 'Home'));
}
另一个问题是如何在home.blade.php模板中显示此信息?
我通常会做一个while循环并执行类似$ row ['assoc_array']
的操作答案 0 :(得分:1)
$testimonial = DB::table('testimonials')->where('id', mt_rand(1, 3))->first();
return View::make('home.index', array('pageTitle' => 'Home', 'testimonial' => $testimonial));
这应该提供一个名为“推荐”的变量,您可以在视图中使用。
答案 1 :(得分:0)
public function showHome()
{
DB::select('SELECT * FROM `testimonials` WHERE `id`=' . mt_rand(1, 3));
return View::make('home.index', array('pageTitle' => 'Home'));
}