App\User ===> App\MongoMessage Mysql Relationships
App\MessageGroup ===> App\MongoMessage hasMany Relationships
App\User
public function mongoMessages() {
return $this->hasMany(MongoMessage::class);
}
App\MessageGroup
public function mongoMessages() {
return $this->hasMany(MongoMessage::class);
}
App\MongoMessage
public function User() {
return $this->belongsTo(User::class);
}
public function MessageGroup() {
return $this->belongsTo(MessageGroup::class);
}
@tinker
$user = App\User::first();
$group = App\MessageGroup::first();
$message = App\MongoMessage::create(["body" => "test"]);
$message = $user->mongoMessages()->save($message);
$message = $group->mongoMessages()->save($message);
@mongo shell
db.mongoMessage.find()
>>> _id: ~~~
body: test,
user_id: 1 ・・・SQL
messageGroup_id: ~~~ ・・・mongoDB
@tinker
$group = App\MessageGroup::first();
$group->mongoMessages()->latest()->first();
>>> App\MongoMessage {
_id: ~~~,
body: test,
user_id: 1,
messageGroup_id: ~~~,
}
任意のメッセージグループの最新メッセージとメッセージ送信ユーザーの id を取得
related:
monteecristoo.hatenablog.com