Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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 通过使用多个对象来实现Laravel嵌套foreach_Php_Arrays_Laravel_Foreach - Fatal编程技术网

Php 通过使用多个对象来实现Laravel嵌套foreach

Php 通过使用多个对象来实现Laravel嵌套foreach,php,arrays,laravel,foreach,Php,Arrays,Laravel,Foreach,我想在配置文件页面中使用一些数据,以便成功地将这些数据传递给视图 return view('pages.profile' , compact('data' , 'faculty' , 'scores' , 'sub' , 'finance_r')); 但是,当我想使用nested for each将“sub”数据打印到“data”部分的foreach基中时,我得到了一个错误 Trying to get property 'id' of non-object (View: 我想做的最

我想在配置文件页面中使用一些数据,以便成功地将这些数据传递给视图

    return view('pages.profile' , compact('data' , 'faculty' , 'scores' , 'sub' , 'finance_r'));
但是,当我想使用nested for each将“sub”数据打印到“data”部分的foreach基中时,我得到了一个错误

Trying to get property 'id' of non-object (View: 
我想做的最简单的事

@foreach ($data as $data)
  @foreach ($sub as $sub)
    {{ $sub->id }}
  @endforeach
@endforeach
我在laravel文档上找到了这个,但它不起作用

    @foreach ($users as $user)
    @foreach ($user->posts as $post)
        @if ($loop->parent->first)
            This is first iteration of the parent loop.
        @endif
    @endforeach
@endforeach
我们如何才能在另一个foreach中使用foreach

注意:我传递给视图的所有数据都是对象。 我的子数据是

Collection {#865 ▼
  #items: array:8 [▼
    0 => Subject {#856 ▼
      #table: "subject"
      +timestamps: false
      #connection: "mysql"
      #primaryKey: "id"
      #keyType: "int"
      +incrementing: true
      #with: []
      #withCount: []
      #perPage: 15
      +exists: true
      +wasRecentlyCreated: false
      #attributes: array:5 [▼
        "id" => 8
        "name" => "پروگرامینگ"
        "number_of_credites" => 5
        "semester_id" => 1
        "faculty_id" => 2
      ]
      #original: array:5 [▶]
      #changes: []
      #casts: []
      #dates: []
      #dateFormat: null
      #appends: []
      #dispatchesEvents: []
      #observables: []
      #relations: []
      #touches: []
      #hidden: []
      #visible: []
      #fillable: []
      #guarded: array:1 [▶]
    }
    1 => Subject {#857 ▶}
    2 => Subject {#858 ▶}
还有我的数据

    Collection {#848 ▼
  #items: array:3 [▼
    0 => Scores {#844 ▼
      #table: "scores"
      +timestampes: false
      #connection: "mysql"
      #primaryKey: "id"
      #keyType: "int"
      +incrementing: true
      #with: []
      #withCount: []
      #perPage: 15
      +exists: true
      +wasRecentlyCreated: false
      #attributes: array:6 [▼
        "id" => 4
        "subject_id" => 15
        "score" => 100
        "scores_student_details_id" => 7
        "created_at" => "2018-04-09 15:02:24"
        "updated_at" => "2018-04-09 15:02:21"

实际上,我想根据
“faculty\u id”=>1

打印sub。您的问题是您在foreach循环中使用了相同的名称

您可以按照您的代码这样做

@foreach ($data as $value)
  @foreach ($sub as $subValue)
    {{ $subValue->id }}
  @endforeach
@endforeach
但这不是好的做法

根据我的意见,您必须更改控制器中变量的名称, 就像您可以传递
data
而不是
data
subs
而不是
sub

 return view('pages.profile' , compact('datas' , 'faculty' , 'scores' , 'subs' , 'finance_r'));
然后你可以做foreach循环

@foreach ($datas as $data)
      @foreach ($subs as $sub)
        {{ $sub->id }}
      @endforeach
@endforeach
始终给出与变量工作相关的变量名称(单数/复数)


如果您有任何疑问,请尝试此操作并发表评论。

您的问题是您在foreach循环中使用了相同的名称

您可以按照您的代码这样做

@foreach ($data as $value)
  @foreach ($sub as $subValue)
    {{ $subValue->id }}
  @endforeach
@endforeach
但这不是好的做法

根据我的意见,您必须更改控制器中变量的名称, 就像您可以传递
data
而不是
data
subs
而不是
sub

 return view('pages.profile' , compact('datas' , 'faculty' , 'scores' , 'subs' , 'finance_r'));
然后你可以做foreach循环

@foreach ($datas as $data)
      @foreach ($subs as $sub)
        {{ $sub->id }}
      @endforeach
@endforeach
始终给出与变量工作相关的变量名称(单数/复数)


如果您有任何疑问,请尝试此操作并发表评论。

您正在使用foreach的
$users
。您是否已将其从控制器发送到视图?从何处获取
$loop
变量?你确定这就是你犯错误的地方吗?在您提供的代码中,您似乎没有试图在任何地方访问
id
属性。@Nasser Ali Karimi您需要为哪个对象执行嵌套foreach?@HirenGohel我看到视图中的所有数据都是可用的,只是我想使用嵌套foreach时出错了each@domdambrogia我看到我在Laravel文档中得到了那个代码不为我工作您正在为foreach使用
$users
。您是否已将其从控制器发送到视图?从何处获取
$loop
变量?你确定这就是你犯错误的地方吗?在您提供的代码中,您似乎没有试图在任何地方访问
id
属性。@Nasser Ali Karimi您需要为哪个对象执行嵌套foreach?@HirenGohel我看到视图中的所有数据都是可用的,只是我想使用嵌套foreach时出错了each@domdambrogia我看到我在Laravel文档中得到了那个代码不为我工作