Laravel 内部连接与演员

Posted

技术标签:

【中文标题】Laravel 内部连接与演员【英文标题】:Laravel inner join with cast 【发布时间】:2021-06-28 09:02:42 【问题描述】:

在 db 中,一个字段是 varbit,另一个字段是 int4。所以我正在尝试在 Laravel 中进行内部连接。

但它不起作用

 ->join('be_product','be_product.id','=',
  'DB::raw('CAST('be_medical_insurance_for_foreigners.product_id' AS INT'))')
        ->where('id','=',$id)

我该如何解决这个问题?

【问题讨论】:

由于使用了单引号,您的代码有语法错误。 mysql Cast 函数也没有 INT 类型转换。您可以使用SIGNEDUNSIGNED 进行整数类型转换。你可以试试这个:->join('be_product','be_product.id','=',DB::raw('CAST("be_medical_insurance_for_foreigners.product_id" AS UNSIGNED)'))->where('id','=',$id) 【参考方案1】:

请从DB::raw 中删除单引号。见吹

->join('be_product','be_product.id','=',
  DB::raw("CAST('be_medical_insurance_for_foreigners.product_id' AS UNSIGNED)"))
        ->where('id','=',$id)

【讨论】:

以上是关于Laravel 内部连接与演员的主要内容,如果未能解决你的问题,请参考以下文章

如何在Laravel中的多对多关系中添加“别名”?

带有内部连接的 Laravel 范围

Laravel 5.4 OAuth 与 Dingo 内部请求

使用 select2 和 ajax laravel 资源进行多选

Laravel 护照 500 内部服务器错误

将 VueJS 与 laravel 连接起来