当前位置: 首页 > 知识库问答 >
问题:

为什么在使用Laravel中的WHERE后循环获取数据?

宋瀚海
2023-03-14

这是我的控制器:

$topics = Topic::where('board_id', $id)->with('user')->get();
$topic = Topic::find($id);
$board = Boards::where('id', $id)->get();
return view('boards.show')->with('topics', $topics)->with('topic', $topic)->with('board', $board);

下面是生成URL的代码:

@foreach($board as $boards)
<a href="/topics/create/{{$boards->id}}">Create New Post</a>
<p>No Posts Found</p>
@endforeach

但是,如果我删除Foreach循环,它是给错误:

Property [id] does not exist on this collection instance.

但是为什么我必须循环,如果它只从boards表中获取一行??没有为每个循环运行的解决方案吗???

共有2个答案

柯正谊
2023-03-14

您可以使用Boards::find($id) 板::findOrFail($id) 代替板::其中('id',$id)-

return view('boards.show')->with('topics', $topics)->with('topic', $topic)->with('board', $board);

return view('boards.show',[
   'topics'=> $topics,
   'topic'=> $topic,
   'board'=> $board
 ]);

因为使用会话将正常值传递给视图不是一种好的做法

丁鹏鹍
2023-03-14

由于只需要获取一个对象,因此不需要使用get()来获取集合。使用search()获取对象的主键:

$board = Boards::find($id);

在视图中,您不需要使用@foreach循环:

<a href="/topics/create/{{ $board->id }}">Create New Post</a>
 类似资料:
  • 为什么我只得到while循环外数组的最后一个元素?如何在循环之外获取数组中的所有元素?

  • 问题内容: 我了解此构造的工作原理: 但是我不明白为什么else在这里使用它作为关键字,因为它表明所讨论的代码仅在for块未完成时才运行,这与它的工作相反!无论我如何考虑,我的大脑都无法从for陈述到else障碍的无缝发展。对我来说,还是更有意义(我正在尝试训练自己这样阅读)。 我想知道Python编码人员是如何在头脑中读取这个结构的。也许我缺少使这些代码块更容易理解的东西? 问题答案: 即使是经

  • 问题内容: 在遍历列表的Python循环中,我们可以编写: 并巧妙地遍历列表中的所有元素。有没有办法知道循环中到目前为止我循环了多少次?例如,我要列出一个清单,在处理完10个元素之后,我想对它们进行处理。 我考虑过的替代方案可能是: 要么: 是否有更好的方法(就像)来获得到目前为止的迭代次数? 问题答案: pythonic的方法是使用:

  • 问题内容: 我一直在使用“ if”来测试自己的版本,并且一切似乎都正常。当然,如果使用signalAll()而不是signal(),这将导致严重崩溃,但是如果一次仅通知一个线程,这怎么会出错? 他们的代码在这里 -检查put()和take()方法;在Condition的JavaDoc顶部可以看到一个更简单,更重点的实现。 下面是我实施的相关部分。 PS我知道,通常,尤其是在这样的lib类中,应该让

  • 在学习了GraphQL并在一些项目中使用它之后,我终于想尝试一下Prisma。它promise消除对数据库的需求,并从GraphQL模式中生成一个GraphQL客户端和一个工作数据库。到目前为止还不错。 但我的问题是:对我来说,GraphQL客户端似乎只对客户端有用(防止超取,加快页面速度,React集成,...)。然而,Prisma并没有消除对业务逻辑的需求,因此人们最终会在Node.js中使用

  • 我正在从mysql表获取用户评论,并希望在评论div中给出的按钮上放置一些条件类。 每个注释有两个按钮: 拇指按压按钮 拇指向下按钮 我想给一个活动的类名,如果一个用户已经在任何评论上竖起了大拇指,那么在将来,如果他在同一个评论的大拇指上点击,它将反转喜欢的数量。 我正在讨论这两张桌子 评论 相似的 我从这些表格中得到数据,并在这里重复。。。 更新js 这段php代码没有给出所需的结果。 我面临三

  • 问题内容: 所以基本上我创建了一个循环,该循环从数组中获取值,然后使用youtube api将这些值放入一个循环中。如果我从循环内访问youtube链接,则工作正常,但在循环外“(当我运行console.log({urllist})”时,我得到一个空数组。我要做的就是推送所有值放入urllist空数组,然后将其传输到状态变量(“ videos”) 我要指的功能是videoUrls 问题答案: 您的

  • 我正在写一份简单的银行申请书。在我的程序中,我使用了while循环。如果用户输入错误,它将再次提示用户输入。 现在的问题是我无法编写任何语句。它总是显示错误(比如:unreachable语句),最终该行不会被打印出来。 我该怎么解决这个问题? [我之所以需要使用,是因为我想打印用户输入的所有信息。] 我正在从事的项目: