Проблема при использовании Slick для присоединения: у меня есть 2 таблицы User и UserInfo, и я хочу оставить их, чтобы получить информацию о пользователе. Я пробовал это:
val q = for{
(user,info) <- User leftJoin UserInfo on (_.id === _.userid)
} yield(user, info)
Но в таблице UserInfo есть поле, допускающее значение NULL, поэтому, когда я пытаюсь выполнить запрос:
q.map(user_info => (user_info._1,user_info._2)).list
Это делает ошибку, потому что user_info._2 имеет некоторые нулевые значения. Я знаю решение, которое дает каждое поле в UserInfo и добавляет getOrElse(None) для полей, допускающих значение NULL. Однако в UserInfo много полей, поэтому я не хочу их использовать.
Может кто-нибудь помочь мне?
Option
s в схеме, они будут возвращены, поэтому я подозреваю, что ваша проблема в другом месте, например, какое именно исключение вы получаете? Как определяется ваша схема? - person Ende Neu   schedule 03.07.2014x.getOrElse(None)
должно быть точно таким же, какx
, верно? Как это может решить вашу проблему? - person Dan Getz   schedule 03.07.2014