Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔4。正在获取当前帖子的ID_Php_Mysql_Laravel 4 - Fatal编程技术网

Php 拉威尔4。正在获取当前帖子的ID

Php 拉威尔4。正在获取当前帖子的ID,php,mysql,laravel-4,Php,Mysql,Laravel 4,我在系统中发表评论,但目前我面临着无法解决的问题。我已经创建了两个数据库表、帖子和评论。我必须为独特的职位分配评论。所以首先,post root是 Route::get('/playlists/{slug}'... 我创建了如下评论路线: Route::post('/playlists/{slug}'... 所以在CommentController中,每当验证器通过时,我都会像下面这样将注释详细信息保存到comments表中 $comment->content = Input:

我在系统中发表评论,但目前我面临着无法解决的问题。我已经创建了两个数据库表、帖子和评论。我必须为独特的职位分配评论。所以首先,post root是

Route::get('/playlists/{slug}'...
我创建了如下评论路线:

Route::post('/playlists/{slug}'...
所以在CommentController中,每当验证器通过时,我都会像下面这样将注释详细信息保存到comments表中

    $comment->content = Input::get('content'); 
    $comment->post_id = ???????
    $comment->save();

那么,我如何在Laravel4.2中识别我在哪篇文章中写的评论呢?在当前post根目录下,我可以从post表中获取当前post的数据,但问题是它仅在视图文件中。也许有某种方法可以将数据从视图传递到控制器?你能给我举个简单的例子吗?谢谢

有几种方法可以解决这个问题

通过这条路线。您的路线可能如下所示:

Route::post('/posts/{post_id}/comments')
通过post请求传递。然后您可以像Input::get'post_id'一样访问它


你路线上的{slug}是邮政id吗?不是,但可能是。每个post记录都有唯一的slug。我尝试将$slug传递到CommentController的函数中,但没有得到任何结果。在“发表评论”按钮上,单击url更改,例如:public/playlists/3JSNWz89PDXUH7Rki9K5dWagcxlGCX6P。在“发表评论”按钮上,单击它将更改为:/playlists/%7Bslug%7D。也许我应该在其他地方寻找错误?我的评论和帖子内容在同一页上。看来第二条路适合我的需要。所以我应该用post_id的值在表单中创建不可见的输入,还是直接从url读取?抱歉,如果它看起来很愚蠢,我还在学习。完全可以理解。是的,你会在评论表单中有一个隐藏的输入,该输入将具有post_id。请确保你验证了post_id发送到后端的post_id。例如,确保post存在,确保用户有权对该post进行评论,因为你不能信任用户的任何输入,即它可以伪造。谢谢!它工作得很好。我只是想知道,如果我想从url读取{slug}变量,会是什么样子?将$slug变量传递到控制器操作函数中。有关其工作原理的更多详细信息: