Laravel:根据我在URL中传递的ID来查询返回数据

时间:2017-08-07 11:48:05

标签: php mysql sql laravel

首先请原谅我,当你读到你认为不清楚或问题应该被编辑的所有问题时,请进行编辑,我将接受它。

路线

Route::get('project/{id}', ['uses' => 'AdminController@showProject', 'as' => 'admin.projects.show']);

我想做什么

使用两个表的信息渲染视图。

表格信息

第一个表叫做项目,我有这个字段:id,slug,order,public,pathheader和pathhome。

第二个表名为project_translation,其中包含以下字段:id,locale,project_id,title,description。

查询问题

我需要一个查询,在那里我获取我传递给url的项目的信息。这看起来像这样(正在工作):

$project = Project::find($id);

我使用{{$ project-> fieldname}}

打印数据

现在,我想检索具有相同项目ID的翻译数据。我是这样做的:

$translation = ProjectTranslation::find($id);

但是,当然,请将ID传递给我的ProjectTranslation数据返回给我。

问题

如何查询使用相同project_id获取project_translations数据的查询?

非常感谢,如果需要更多信息或者不清楚。请发表评论。

2 个答案:

答案 0 :(得分:3)

尝试这样做:

$project = Project::find($id);
$translation = ProjectTranslation::where('project_id', $id)->first();

在控制器中执行此操作,然后您可以将此数据传递给视图:

return view('sample', ['project' => $project, 'translation' => $translation]);

答案 1 :(得分:2)

只需使用$id查找ProjectTranslationproject_id等于$id的所有记录,如下所示:

$translation = ProjectTranslation::where('project_id',$id)->get();

如果您在ProjectTranslation上只有一条记录,那么您可以这样:

$translation = ProjectTranslation::where('project_id',$id)->first();

希望你明白。