Assume the following relations:
Order:
public function messages(){
return $this->hasManyThrough('App\Models\Message', 'App\Models\Conversation', 'order_id', 'conversation_id', 'id', 'id');
}
Conversation:
public function messages()
{
return $this->hasMany('App\Models\Message')->latest();
}
I tried to create a new meesage from an order instance like:
//create message & assign message to conversation
$message = new Message([
'user_id' => Auth::id(),
'text' => $request->messageText,
]);
$order->messages()->save($message);
Result:
Call to undefined method Illuminate\Database\Eloquent\Relations\HasManyThrough::save()
Is there an easy way to create new instances of message directly through an order instance?
Update
I tried this too:
$order->messages->user_id = Auth::id();
$order->messages->text = $request->messageText;
$order->messages->is_admin = true;
$order->push();