【发布时间】:2016-08-17 03:00:08
【问题描述】:
我有三张桌子:
用户
此表包含通常的用户数据。 ID、电子邮件、密码、用户名等
团队
Image of my teams table structure
成员
Image of my members table structure
我的成员表用于跟踪哪些用户属于哪些团队。
我正在尝试创建的是一条路线,当访问该路线时,会显示用户当前所属的所有团队。
这是我尝试过的:
团队.php
<?php
namespace EG;
use Illuminate\Database\Eloquent\Model;
class Team extends Model
{
protected $table = 'teams';
public function members()
{
return $this->hasMany('Member');
}
}
会员.php
<?php
namespace EG;
use Illuminate\Database\Eloquent\Model;
class Member extends Model
{
protected $table = 'members';
public function teams()
{
return $this->belongsTo('Team');
}
}
routes.php
Route::get('/test', function () {
$member = EG\Member::where('user_id', '=', Auth::user()->id)->get();
$teams = $member->teams;
foreach($teams as $team) {
echo $team->team_name."<br>";
}
});
我在访问 /test 时收到此错误:
routes.php 第 94 行中的错误异常: 未定义属性:Illuminate\Database\Eloquent\Collection::$teams
为了让你们更好地理解我要创建的内容,我将按照程序执行以下操作:
$sql = “SELECT team_id FROM members WHERE user_id = ‘“.Auth::user()->id.”';”;
$result = mysqli_querry($conn, $sql);
while ($row = mysqli_fetch_assoc($result))
{
$sql = “SELECT * FROM teams WHERE id = ‘“.$row[’team_id'].”';”;
$result = mysqli_query($conn, $sql);
while ($team = mysqli_fetch_assoc($result))
{
echo $team[’team_name’].”<br>”;
}
}
【问题讨论】:
标签: php mysql database laravel model