Как я могу использовать запрос идентификаторов для другого запроса с Eloquent - Laravel - PullRequest
0 голосов
/ 08 октября 2019

Я новичок в серверной разработке и пытаюсь использовать промежуточную таблицу внутри моего контроллера для выбора кампаний от пользователя 5. До сих пор я получаю следующую ошибку со следующим кодом. Я не очень понимаю, что означает ошибка, и результаты Google не очень помогают.

"stripos () ожидает, что параметр 1 будет строкой, объект задан"

public function index()
{
    $userCampaignIDs = CampaignUser::where('user_id', '5');
    $campaigns = Campaign::findMany('id', $userCampaignIDs);
    return $campaigns;
}

1 Ответ

1 голос
/ 08 октября 2019

Поскольку $userCampaignIDs - это не массив, а QueryBuilder.

Вам необходимо получить массив для использования findMany, например:

$userCampaignIDs = CampaignUser::where('user_id', '5')->get()->pluck('id');

Но у вас естьчтобы использовать отношения Eloquent, чтобы упростить ваши отношения, например:

$userId = 5;
$campaigns = Campaign::whereHas('campaignUser', function($query) use ($userId) {
    $query->where('user_id', $userId);
})->get();

Полагаю, существует связь между Campaign и CampaignUser

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...