我有一点问题;
我的数据库中有两个表:第一个是'accounts',第二个是'players'。我已经完成了与模型的关系,我已经完成了所有工作。但是,我还有一些事情没有做过。
在'accounts'表中有一个名为'id'的列。在“玩家”表格中有一个名为“account_id”的列,它与“accounts”表中的“id”匹配。
我想显示让我们说玩家名称(列''名称'位于'玩家'表中)。我可以说,当一个人登录时(“账户”表),显示玩家的名字(位于“玩家”表中的“名称”列),但是匹配的ID是什么?
实施例: “帐户” id = 1; name = 12345 “玩家” id = 1; name = John; account_id = 1;
现在,当我登录ID为1('accounts'表)的帐户时,我希望它显示所有拥有account_id = 1的玩家。我还想让它与所有帐户/ ID一起使用,不只是一个帐户。
我已经尝试过这样的事情:
public function player()
{
$player = Player::find(3);
return View::make('aac.test')->with('player',$player);
}
只有一个身份识别为3的玩家,没有任何东西可以与account_id匹配,它只会显示ID为3的玩家。
这里也是我的User.php(模型;用于'帐户')和Player.php(模型;用于'玩家')
user.php的
<?php
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
class User extends Eloquent implements UserInterface, RemindableInterface {
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'accounts';
/**
*
*
* Timestamps: true if needed, otherwise false.
*
*/
public $timestamps = false;
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = array('password');
/**
* Get the unique identifier for the user.
*
* @return mixed
*/
public function getAuthIdentifier()
{
return $this->getKey();
}
/**
* Get the password for the user.
*
* @return string
*/
public function getAuthPassword()
{
return $this->password;
}
/**
* Get the e-mail address where password reminders are sent.
*
* @return string
*/
public function getReminderEmail()
{
return $this->email;
}
public function players() {
return $this->hasMany('Player');
}
}
Player.php
<?php
class Player extends Eloquent {
protected $table = 'players';
protected $fillable = array('char_name', 'sex');
public $timestamps = false;
public function user() {
return $this->belongsTo('User');
}
}
答案 0 :(得分:2)
只需获得您需要的帐户,您就可以访问玩家收藏了。然后,您只需在视图中迭代account->players
。
public function players()
{
$account = User::find(1);
return View::make('aac.test')->with('account',$account);
}
在您的视图中,您可以遍历玩家
<?php foreach($account->palyers as $player):?>
<?php echo $player->name;?>
<?php endforeach;?>
希望这有帮助