users テーブルにユーザーの写真があり、送信した招待に基づいてこれらの写真にアクセスしたい。私が送信したすべての招待状に関連するすべてのユーザーの写真を取得しようとしています。次のようなモデル構造があります。
class User extends Eloquent
{
public static $table = 'users';
public static $accessible = array('username', 'email', 'picture', 'password');
public function nests()
{
return $this->has_many('Nest');
}
class Nest extends Eloquent
{
public static $table = 'nests';
public function user()
{
return $this->belongs_to('User');
}
class Invite extends Eloquent
{
public static $table = 'invite';
public function nest()
{
return $this->belongs_to('Nest');
}
ここに私の移行があります:
{
Schema::create('users', function($table) {
// auto incremental id (PK)
$table->increments('id');
// varchar 32
$table->string('username', 32);
$table->string('email', 64);
$table->string('picture');
$table->string('password');
$table->string('role');
// boolean
$table->boolean('true');
// created_at | updated_at DATETIME
$table->timestamps();
});
}
{
Schema::create('nests', function($table) {
// auto incremental id (PK)
$table->increments('id');
// varchar 32
$table->string('nestname', 128);
$table->text('info');
$table->integer('user_id');
// boolean
$table->boolean('active');
// created_at | updated_at DATETIME
$table->timestamps();
});
}
{
Schema::create('invite', function($table) {
$table->increments('id');
$table->text('mypeeps');
$table->integer('user_id');
$table->integer('nest_id');
$table->string('email', 128);
$table->timestamps();
});
}
これが私が写真を取得しようとしている方法ですが、うまくいきません:
$users = DB::table('users')
->join('nests', 'nests.user_id', '=', 'users.id')
->join('invite', 'invite.nest_id', '=', 'nests.id')
->where_nest_id($id)
->get(array('users.picture', 'users.username'));