Один пользователь может создавать, редактировать и удалять модель. Все остальные пользователи также могут обновить эту модель (поставив лайк). Теперь, когда пользователь, который не является создателем записи, обновляет модель, создатель перезаписывается тем, кто ее обновил.
По сути, это то, что происходит при отправке данных в индекс Algolia:
public function toSearchableArray()
{
$user = \Auth::user();
$meetingData = array(
'username' => $user->name,
...
);
return $meetingData;
}
Когда запись обновляется пользователем, отличным от создателя, $user является не создателем, а тем, кто обновляет запись. Таким образом, создатель будет перезаписан, чего мне нужно избегать.
Можно ли обновить только одно значение в записи индекса, а не всю запись? Единственный способ, которым я мог бы обновить модель, — это сделать что-то вроде этого в контроллере:
$meeting = Meet::find($id);
$meeting->interests = implode(',', $currentLikesArray);
$meeting->save();
Но это обновляет всю запись, которая связана с идентификатором пользователя-создателя.