Я хочу вернуть коллекцию сообщений, основываясь на том, существует ли единственное значение в массиве, хранящемся в таблице.
В моей таблице сообщений есть обычные имена столбцов, такие как 'title', 'body' и 'slug'.Я управляю несколькими сайтами, используя одну и ту же таблицу, поэтому у меня есть дополнительное имя столбца 'site_ids'.Когда пользователь создает сообщение, он выбирает, на каких сайтах он хочет опубликовать, и он сохраняет идентификаторы сайта в виде массива (например, [1,2])
-----------------------------------------------
| Title | Site_ids | Slug |
-----------------------------------------------
| Test Title |[1,2,3] |test-title |
-----------------------------------------------
| Another Title |[1,6] |another-title |
-----------------------------------------------
. Теперь я создаю API длявернуть все сообщения с site_id, равным 1. Как этого достичь?Вот мой текущий код в моем PostController
МАРШРУТ API
Route::get('/{site_id}/posts','PostController@index')->name('Show Posts');
Код:
public function index($site_id)
{
// Return all posts by id
$posts = Post::whereIn('sites', $site_id)->get();
return new PostCollection($posts);
}
Яполучить это сообщение об ошибке
В foreach указан неверный аргумент ()
Что я здесь не так делаю?