可以使用LEFT JOIN和COALESCE操作符解决该问题。示例代码如下所示:
User.joins("LEFT JOIN posts ON posts.user_id = users.id")
.where("users.name LIKE ? OR posts.title LIKE ?", "%#{search_term}%", "%#{search_term}%")
.select("users.*, COALESCE(posts.title, '') AS post_title")
上面的代码通过LEFT JOIN将用户表和帖子表进行连接。同时,使用COALESCE操作符,如果帖子表中不存在数据,则该查询将返回空字符串,而不是NULL值。