То, что вы ищете, это relationships
найдено здесь .
Вы должны определить отношения в модели, которой принадлежит любое количество других моделей или наоборот.
В соответствии с тем, что вы задаете нам в своем вопросе, ваши Модели, вероятно, должны быть структурированы следующим образом:
<?php
class Profile extends Model {
// a profile belongs to an user
function user()
{
return $this->belongsTo('App\Model\User', 'user_id');
}
}
А затем в вашей User
модели.
<?php
class User extends Model {
// an user has many profiles
function profiles()
{
return $this->hasMany('App\Model\Profile', 'id');
}
// an user has many messages
function messages()
{
return $this->hasMany('App\Model\Message', 'id');
}
}
И, наконец, в вашей Message
модели.
<?php
class Message extends Model {
// a message belongs to an user
function user()
{
return $this->belongsTo('App\Model\User', 'user_id');
}
// a message was sent to one friend
function friend()
{
return $this->hasOne('App\Model\Friend', 'friend_id');
}
}
Вот как вы создаете отношения в Laravel, вы можете найти документацию здесь в зависимости от версии Laravel вы используете.
Наконец, вы можете использовать Eloquent, как это.
Profile::with('user)->get();
Message::with('user')->get();
$message = Message::find(1)->user()->where('etc', 'etc')->first();