【问题标题】:Laravel: Query to return data depending the ID I pass in URLLaravel:根据我在 URL 中传递的 ID 查询返回数据
【发布时间】:2017-08-07 11:48:04
【问题描述】:

首先请原谅,如果您阅读了所有您认为不清楚或应该编辑的问题,请进行编辑,我会接受。

路线

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);

当然,用我在 URL 上传递的 ID 将 ProjectTranslation 的数据返回给我。

问题

应该如何查看我获取具有相同 project_id 的 project_translations 数据的查询?

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

【问题讨论】:

  • 你想要它与连接还是不同的查询?
  • 我更喜欢知道这两种方式。学习新方法总是好的。

标签: php mysql sql laravel


【解决方案1】:

尝试这样做:

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

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

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

【讨论】:

  • Perfect @Marcin 非常感谢您的快速回答。当您这样做时:where('project_id',$id) 您正在将 project_id 字段与您在 URL 上传递的 id 进行比较是真的吗?可以这样做:$translation = ProjectTranslation::where($id, $project->id); ?将 $id 与项目表的 id 值进行比较?谢谢老哥!
  • 此函数为您提供字段project_id == $id的所有数据库条目,然后您可以使用 ->get() 获取条目数组或 ->first() 如果您想获得第一个匹配价值。
  • 其实我每个项目都有两个翻译。所以应该看起来像:$translation = ProjectTranslation::where('project_id',$id)->get();?所以我需要做一个 foreach。
  • 是的!使用 ->get() 然后使用 foreach 来遍历这个返回的数组。
  • 完成 ;) 也许我这几天会有更多关于查询的问题。如果您有兴趣,请关注我的个人资料。
【解决方案2】:

只需使用$id 查找ProjectTranslation 上的所有记录,其中project_id 等于$id,如下所示:

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

如果你在ProjectTranslation 上只有一条记录,那么你可以得到:

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

希望你能理解。

【讨论】:

  • 成功了。谢了哥们。也许这几天我会有更多关于查询的问题。如果您有兴趣,请关注我的个人资料。
  • @LluísPuigFerrer 恭喜您找到解决方案,如果有任何问题,请随时提问:D :D
  • 嗨@SagarGautam,你在吗?也许你可以帮助我
  • @LluísPuigFerrer 有什么问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-25
  • 1970-01-01
  • 2016-11-07
  • 2016-04-20
  • 2012-02-08
  • 1970-01-01
相关资源
最近更新 更多