use*_*861 8 php query-builder laravel laravel-query-builder
我有一个使用2个数据库的应用程序.我需要创建一个查询,将一个数据库中的表连接到另一个数据库表,但我不知道该怎么做.
所以,我有一个连接名称mysql和phc.我可以毫无问题地与两者沟通.
现在,我正在尝试执行此查询:
$artigos = DB::connection('phc')->table('st')
->join('mysql.cart', 'mysql.cart.id_item', '=', 'st.ststamp')
->select('st.ststamp', 'st.ref', 'st.design', 'st.imagem', 'mysql.cart.qtt')
->where('mysql.carts.id_user','=',Auth::id())
->paginate(10);
Run Code Online (Sandbox Code Playgroud)
但是回报我: General error: 20018 Invalid object name 'mysql.cart'
我想访问连接mysql表购物车和连接phc表st.
我怎么解决这个问题?
谢谢
小智 4
尝试删除连接('phc')并为 php 表添加前缀,就像处理 mysql 表一样。您正在选择连接,因此查询构建器应该理解它将使用连接名称为您的表添加前缀。因此,当您输入“mysql.cart”时,查询生成器将执行“phc.mysql.cart”。
$artigos = DB::table('phc.st')
->join('mysql.cart', 'mysql.cart.id_item', '=', 'phc.st.ststamp')
->select('phc.st.ststamp', 'phc.st.ref', 'phc.st.design', 'phc.st.imagem', 'mysql.cart.qtt')
->where('mysql.carts.id_user','=',Auth::id())
->paginate(10);
Run Code Online (Sandbox Code Playgroud)