[英]laravel hasManyThrough() relation create
假設以下關系:
命令:
public function messages(){
return $this->hasManyThrough('App\Models\Message', 'App\Models\Conversation', 'order_id', 'conversation_id', 'id', 'id');
}
對話:
public function messages()
{
return $this->hasMany('App\Models\Message')->latest();
}
我嘗試從訂單實例創建一個新的消息,例如:
//create message & assign message to conversation
$message = new Message([
'user_id' => Auth::id(),
'text' => $request->messageText,
]);
$order->messages()->save($message);
結果:
Call to undefined method Illuminate\Database\Eloquent\Relations\HasManyThrough::save()
有沒有一種簡單的方法可以直接通過order
實例創建新的message
實例?
更新
我也試過這個:
$order->messages->user_id = Auth::id();
$order->messages->text = $request->messageText;
$order->messages->is_admin = true;
$order->push();
$order = new Order;
$message = new Message([
'user_id' => Auth::id(),
'text' => $request->messageText,
]);
$order->messages()->add($message);
檢查這個東西會起作用嗎
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.