我的申请表里有两张桌子..。用户公约
我在约定表中有用户id,我想从用户表中访问他们的性别.
我在conventioners表中有10个用户I,在user表中有20个用户.
请告诉我如何访问用户表中的所有性别.
$conventioners->users()->gender“公约”是“公约”模型的一个实例,其中包含一个关系**归属于“the”
多谢各位
这是我的公约者模型
<?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方法叫做公约..。它检索当前约定的详细信息。
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
]);
}发布于 2017-05-10 15:42:27
问题是,用户是一个集合,而不是您可以调用gender的个人。如果您想要一个所有性别的列表,可以使用以下内容:
Conventioner::where('convention_id', $convention->id)->with('users')->get()
$conventioners->pluck('users')->pluck('gender')->all();这将返回一个性别数组。您可以阅读更多关于pluck 这里的内容。
提取方法检索给定键的所有值。
https://stackoverflow.com/questions/43895937
复制相似问题