尝试从数据透视表Laravel获取列数据

超胞浆

嗨,我正在尝试从我的数据透视表中输出特定的列。为了向您展示我尝试过的内容,我将首先向您展示我的模型(我的数据透视表是ordertasks和tagtasks):

任务表:

class Task extends \Eloquent {

    // Add your validation rules here
    public static $rules = [
        // 'title' => 'required'
    ];

    // Don't forget to fill this array
    protected $fillable = ['task_name','task_description','hour','difficulty'];

    public function ordertask()
    {   
        //oneToMany
        return $this->hasMany('Ordertask', 'id_task', 'id');
    }

    public function tagtask()
    {   
        //oneToMany
        return $this->hasMany('Tagtask', 'id_task', 'id');
    }


}

Tagtask表:

<?php

class Tagtask extends \Eloquent {
    protected $fillable = ['id_tag','id_task'];

    public function task()
    {   
        //manyToOne
        return $this->belongsTo('Task', 'id_task', 'id');
        //return $this->belongsTo('Task');
    }
    public function tag()
    {   
        //manyToOne
        return $this->belongsTo('Tag', 'id_tag', 'id');

    }
}

订单任务表:

<?php

class Ordertask extends \Eloquent {

    // Add your validation rules here
    public static $rules = [
        // 'title' => 'required'
    ];

    // Don't forget to fill this array
    protected $fillable = ['id_order','id_task', 'hour', 'hourprice','id_user', 'createdBy'];

    public function user()
    {   
        //manyToOne
        return $this->belongsTo('User', 'id_user', 'id');
        //return $this->belongsTo('User');
    }

    public function task()
    {   
        //manyToOne
        return $this->belongsTo('Task', 'id_task', 'id');
        //return $this->belongsTo('Task');
    }
}

这是我的TaskController.php,其中包含以下代码:

public function index()
    {
        $Tasks=Task::with('tagtask','ordertask')->get(); 
        return View::make('user.tasks.index', compact('Tasks'));
    }

现在好了,我想用以下代码在浏览器上显示$ Task-> ordertask ['id_user']的部分:

@if (count($Tasks)) 
<ul>
   @foreach($Tasks as $Task)
   <div class="row">
      <div class="col-md-3">
         <li>
            {{--as a third parameter we need to pass in the id of task, because it needs to be fed to
            our actual user.task.edit route. --}}
            {{link_to_route('user.tasks.edit', $Task['task_name'], array($Task->id))}}
         </li>
      </div>
      <div class="col-md-3">
         <li>   
            {{$Task->ordertask['id_user']}}
         </li>
      </div>
      <div class="col-md-3">
         <li>   
            {{$Task['task_hour']}}
         </li>
      </div>
      <div class="col-md-3">
         <li>
            {{Form::open(array('route'=>array('user.tasks.destroy',$Task->id),
            'method'=>'delete','class'=>'destroy'))}}
            {{Form::submit('Delete')}}
            {{Form::close()}}
         </li>
      </div>
   </div>
   @endforeach
</ul>
@endif

不幸的是,这不起作用,因为我收到以下错误:

Undefined index: id_user

代替:

{{$Task->ordertask['id_user']}}

我也尝试过这样做只是为了看看它给了我什么输出:

{{$Task->ordertask}}

这给了我以下输出:

[{"id":5,"id_order":2,"id_task":1,"hour":63,"hourprice":15,"id_user":5,"createdBy":4,"created_at":"2014-10-13 10:21:33","updated_at":"2014-10-13 10:21:33"}]

所以很高兴我想从ordertask表中输出id_user。很高兴我在等待您的答复。无论如何,谢谢您的回复。

马尔辛·纳比亚列克(MarcinNabiałek)

一个任务可以有许多订单任务,因此可以显示用户而不是

{{$Task->ordertask['id_user']}}

您应该使用:

@foreach ($Task->ordertask as $ot)
 {{ $ot->id_user }}
@endforeach

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试在Resource Laravel中返回数据透视表数据

来自分类Dev

Laravel数据透视表ID列

来自分类Dev

Laravel从数据透视表中仅获取certrain数据

来自分类Dev

Laravel-仅从数据透视表中获取数据

来自分类Dev

Laravel 6:从多个数据透视表中获取数据

来自分类Dev

Laravel从数据透视表获取数据的多对多关系

来自分类Dev

Laravel从数据透视表中仅获取certrain数据

来自分类Dev

Laravel-从数据透视表中获取其他列值

来自分类Dev

数据透视表Laravel 4

来自分类Dev

laravel数据透视表独特

来自分类Dev

Laravel 与数据透视表的关系

来自分类Dev

Laravel Eloquent - 数据透视表

来自分类Dev

如何从Laravel中的数据透视表中获取更多行

来自分类Dev

Laravel Eloquent 获取与数据透视表中的值匹配的关系

来自分类Dev

Laravel-使用数据透视表唯一的行ID从数据透视表列中获取值

来自分类Dev

如何获取数据透视表中列的平均值

来自分类Dev

在SQL数据透视表的“总计”列中获取空值

来自分类Dev

如何获取数据透视表中列的平均值

来自分类Dev

SQL从动态数据透视表获取总列

来自分类Dev

从数据透视表中获取特定的列值

来自分类Dev

获取数据透视表中列部分的平均值

来自分类Dev

数据透视表缺失列

来自分类Dev

数据透视表嵌套列

来自分类Dev

数据透视表嵌套列

来自分类Dev

从laravel中的数据透视表访问数据

来自分类Dev

从数据透视表中检索单个列-Laravel 5

来自分类Dev

数据列对中的数据透视表

来自分类Dev

数据透视表中的2列数据

来自分类Dev

在laravel中的数据透视表上获取表数据库