Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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
Laravel belongsToMany获取中间表值_Laravel - Fatal编程技术网

Laravel belongsToMany获取中间表值

Laravel belongsToMany获取中间表值,laravel,Laravel,这是我的laravel代码: $this->belongtomany('App\Models\GroupTask','purchase\u order\u group\u tasks','purchase\u order\u uuid','group\u tasks\u uuid') 是否可以将POGT.units作为值?在我的例子中,它显示的结果是GT.units。我相信您想要使用的是hasManyThrough关系: 修改为以下内容: PO: po_uuid name GT: gt_uui

这是我的laravel代码:
$this->belongtomany('App\Models\GroupTask','purchase\u order\u group\u tasks','purchase\u order\u uuid','group\u tasks\u uuid')


是否可以将POGT.units作为值?在我的例子中,它显示的结果是GT.units。

我相信您想要使用的是
hasManyThrough
关系:

修改为以下内容:

PO:
po_uuid
name

GT:
gt_uuid
name
units

POGT:
po_uuid
gt_uuid
units
我想这会出现在
POGT
模型中

public function posts()
{
    return $this->hasManyThrough(
        'App\Post',
        'App\User',
        'country_id', // Foreign key on users table...
        'user_id', // Foreign key on posts table...
        'id', // Local key on countries table...
        'id' // Local key on users table...
    );
}
使用此方法将仅返回中间表数据


我相信您想要使用的是
hasManyThrough
关系:

修改为以下内容:

PO:
po_uuid
name

GT:
gt_uuid
name
units

POGT:
po_uuid
gt_uuid
units
我想这会出现在
POGT
模型中

public function posts()
{
    return $this->hasManyThrough(
        'App\Post',
        'App\User',
        'country_id', // Foreign key on users table...
        'user_id', // Foreign key on posts table...
        'id', // Local key on countries table...
        'id' // Local key on users table...
    );
}
使用此方法将仅返回中间表数据


是的,您必须为您的关系添加轴心价值

public function items()
{
    return $this->hasManyThrough(
        'App\PO',
        'App\GT',
        'gt_uuid', // Foreign key on PO table...
        'po_uuid', // Foreign key on GT table...
        'id', // Local key on POGT table...
        'id' // Local key on GT table...
    );
}
现在,在您的关系中,您可以说
$purchaseOrder->groupTasks->first()->pivot->units
来获取pivot表的值


是的,您必须为您的关系添加轴心价值

public function items()
{
    return $this->hasManyThrough(
        'App\PO',
        'App\GT',
        'gt_uuid', // Foreign key on PO table...
        'po_uuid', // Foreign key on GT table...
        'id', // Local key on POGT table...
        'id' // Local key on GT table...
    );
}
现在,在您的关系中,您可以说
$purchaseOrder->groupTasks->first()->pivot->units
来获取pivot表的值

如果你写的都是你需要的:

$this
    ->belongsToMany('App\Models\GroupTask', 'purchase_order_group_tasks', 'purchase_order_uuid', 'group_tasks_uuid')
    ->withPivot('units');
如果你写的都是你需要的:

$this
    ->belongsToMany('App\Models\GroupTask', 'purchase_order_group_tasks', 'purchase_order_uuid', 'group_tasks_uuid')
    ->withPivot('units');