Я присоединился к таблице в своем запросе, но мне нужно проверить значение столбца в этой таблице, он возвращает
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'on' in 'on clause'
Код
$interests = DB::table('projects')
->where('projects.published', 'y')
->whereDate('projects.created_at', Carbon::now()->subDay())
->join('project_tag', 'project_tag.project_id', '=', 'projects.id') //get project tags
->join('mailings', 'mailings.interests', '=', 'on') //get mailing lists with on value in interests column
->join('users', 'users.id', '=', 'mailings.user_id') //get mailing users
->join('user_interests', 'user_interests.user_id', '=', 'users.id') //get mailing users intrests (same as tags in projects)
->select('projects.*', 'users.*')
->get();
Моя проблема в этой строке
->join('mailings', 'mailings.interests', '=', 'on')
Я просто хочу присоединиться mailings
, где их значение столбца intrests
установлено на on
Есть идеи?
Обновить
Я изменил свою выданную строку на:
->join('mailings', function ($join) {
$join->where('mailings.interests', '=', 'on');
})
, теперь она возвращает результаты, но выходные данные дублируются и не завершены.вот что я получаю dd
lluminate\Support\Collection {#819
#items: array:6 [
0 => {#824
+"title": "test 1"
+"slug": "test-1"
+"budget": 23454235.0
+"name": "Diana Bosco"
+"email": "arunolfsson@example.net
}
1 => {#827
+"title": "test 1"
+"slug": "test-1"
+"budget": 23454235.0
+"name": "Diana Bosco"
+"email": "arunolfsson@example.net
}
2 => {#820
+"title": "test 1"
+"slug": "test-1"
+"budget": 23454235.0
+"name": "admin"
+"email": "admin@admin.com"
}
3 => {#826
+"title": "test 1"
+"slug": "test-1"
+"budget": 23454235.0
+"name": "admin"
+"email": "admin@admin.com"
}
4 => {#823
+"title": "test 1"
+"slug": "test-1"
+"budget": 23454235.0
+"name": "Aurelia Treutel I"
+"email": "korey13@example.net"
}
5 => {#825
+"title": "test 1"
+"slug": "test-1"
+"budget": 23454235.0
+"name": "Aurelia Treutel I"
+"email": "korey13@example.net"
}
]
выпусков
- Данные дублируются для каждого пользователя
- Он получает один и тот же проект для всех пользователей, в то время как долженотличаться в зависимости от их тегов.
Для ясности Logic
- У моих пользователей есть теги (я назвал это интересами)
- Проекты также имеют теги
- Я хочу получить проекты, которые имеют те же теги, что и интересы пользователя, и показать их пользователю.
- Элемент списка