Laravel在foreach中仅返回了一项记录。为什么呢?

时间:2016-07-29 11:50:57

标签: php laravel return

我有这个foreach循环:

 $productStan = product::all();   
 foreach ($productStan as $stan) {
     return $date = $stan->stan_key;
 }    

这是我的表productsenter image description here

这是以下所有记录:

return $productStan;
  

[{" ID":1," USER_ID":1,"斯坦":3," stan_key":&#34 ;用户,3""的article_id":1," CATEGORY_ID":1," SN":" 1111"&# 34;量":12,"保":" 2016年7月27日"" created_at":" 2016年7月27日   22:45:36""的updated_at":" 2016年7月29日   08:55:38"},{" ID":2" USER_ID":1,"斯坦":2" stan_key&# 34;:"用户,2""的article_id":2" CATEGORY_ID":2" SN":" 8sd8adada9d08ada90d89& #34;"量":20,"保":" 2016年7月28日"" created_at":" 2016年7月28日   18:33:20"," updated_at":" 2016-07-28 18:33:20"}]

当我想要返回变量$date时,Laravel只返回一条记录: 用户,3 但是当我这样写echo而不是return时:

echo $date = $stan->stan_key;

Laravel返回正确的两条记录: 用户,3user,2

在我的方法中,我必须返回表products中的所有记录。

我做错了什么,laravel只返回了LATEST记录,并没有返回所有记录?

3 个答案:

答案 0 :(得分:2)

您需要返回一个数组才能返回多个项目。

$productStan = product::all();    
$date = array();
foreach ($productStan as $stan) {
   $date[] = $stan->stan_key;
}

return $date;

答案 1 :(得分:1)

因为在第一次迭代时遇到return语句并导致程序退出。

您可以return $productStan直接执行foreach循环,以显示/使用数据。

答案 2 :(得分:0)

m1