首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel关系问题: Laravel 5.4

Laravel关系问题: Laravel 5.4
EN

Stack Overflow用户
提问于 2017-05-10 14:49:19
回答 1查看 103关注 0票数 0

我的申请表里有两张桌子..。用户公约

我在约定表中有用户id,我想从用户表中访问他们的性别.

我在conventioners表中有10个用户I,在user表中有20个用户.

请告诉我如何访问用户表中的所有性别.

代码语言:javascript
复制
$conventioners->users()->gender

“公约”是“公约”模型的一个实例,其中包含一个关系**归属于“the”

多谢各位

这是我的公约者模型

代码语言:javascript
复制
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Conventioner extends Model
{
    /**
     * @var string
     */
    protected $table = 'conventioners';

    /**
     * @var array
     */
    protected $fillable = [
        'user_id','year','church_id','convention_id'
    ];

    /**
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    public function user()
    {
        return $this->belongsTo('App\User');
    }

    /**
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    public function users()
    {
        return $this->hasMany('App\User');
    }

    /**
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    public function convention()
    {
        return $this->belongsTo('App\Convention');
    }
}

这是我的ConventionController方法叫做公约..。它检索当前约定的详细信息。

代码语言:javascript
复制
public function convention($slug)
    {
        if(!$this->admin()) return redirect()->back();

        $convention = Convention::where('slug', $slug)->first();

        $participants = Conventioner::where('convention_id', $convention->id)->get();

        $conventioner = [];
        foreach($participants as $participant)
        {
            $thisUser = [];
            $thisUser['data'] = User::withTrashed()->where('id', $participant->user_id)->first();
            $thisUser['convention'] = $participant;
            array_push($conventioner, $thisUser);
        }

        var_dump($participants->users()->pluck('gender')->all());

        return view('dashboard/conventions/convention', [
            'convention' => $convention,
            'user' => Auth::user(),
            'conventioners' => $convention->conventioners(),
            'participants' => $conventioner
        ]);
    }
EN

回答 1

Stack Overflow用户

发布于 2017-05-10 15:42:27

问题是,用户是一个集合,而不是您可以调用gender的个人。如果您想要一个所有性别的列表,可以使用以下内容:

代码语言:javascript
复制
Conventioner::where('convention_id', $convention->id)->with('users')->get()
$conventioners->pluck('users')->pluck('gender')->all();

这将返回一个性别数组。您可以阅读更多关于pluck 这里的内容。

提取方法检索给定键的所有值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43895937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档