【问题标题】:Laravel custom string as fieldLaravel 自定义字符串作为字段
【发布时间】:2019-01-19 20:43:28
【问题描述】:

如何将以下语句转换为 laravel 的 eloquent 或 Query builder:

从用户中选择 *, 'admin' 作为类型。

它的 'admin' as type 是我在 laravel 上转换它时遇到问题的地方。谢谢

【问题讨论】:

  • 试试这个$users = DB::table('users')->selectRaw("*, 'admin' as type")->get();
  • 你也可以使用它。用户::where('type','admin')->get();
  • 结果错误。列名“管理员”无效
  • 你的专栏叫什么名字。
  • DB::select("select *, 'admin' as type from users") 有什么回报吗?

标签: php laravel


【解决方案1】:

我宁愿弄清楚为什么 MSSQL 以这种方式处理它,或者适配器,但由于直接在连接上的原始 SELECT 有效,你也可以用 Eloquent 做到这一点:

App\User::fromQuery("select *, 'admin' as type from users");

您将从该结果中获得一系列模型。

【讨论】:

    【解决方案2】:

    按照 lagbox 的建议。此查询返回我需要的内容。谢谢大家。

    DB::select("select *, 'admin' as type from users")

    【讨论】:

    • 我发布了另一个答案,这取决于我提出的问题
    【解决方案3】:

    使用查询生成器,您可以像这样尝试

    $users = DB::table('users')->selectRaw("*, 'admin' AS type")->get();
    

    如果你有User 模型,那么

    $users = User::selectRaw("*, 'admin' AS type")->get();
    

    【讨论】:

    • 感谢您的帮助。但是这两个都显示了这个错误:[Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Invalid column name '"admin"'
    • 你在使用 SqlServer 吗?
    • sql 是否直接在您的mssql 客户端中工作?
    • 是的。如果我直接在我的数据库上运行该查询,它会显示结果。
    • 我添加了原生查询和结果的图片供大家参考
    猜你喜欢
    • 2023-03-11
    • 2018-04-04
    • 1970-01-01
    • 2019-12-21
    • 2021-02-18
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2012-07-19
    相关资源
    最近更新 更多