php - 如何使用 newQuery() 在 Laravel 中为表添加别名

标签 php mysql laravel eloquent

我有一个名为 cotacaoitensfranqueado 的表,我想只使用 cif 来调用它,我知道我可以做到这一点 DB::table ('cotacaoitensfranqueado as cif') 我在 this question 中看到的情况,但我想使用我的模型来做到这一点。

    $user = Auth::user();

    $model_cotacaoitensfranqueado = new Cotacaoitensfranqueado();

    $query = $model_cotacaoitensfranqueado->newQuery();
    $query->select('cotacaoitensfranqueado.*', 'c.status');
    $query->join('cotacao as c', [
       ['c.codigoconcentrador', 'cotacaoitensfranqueado.codigoconcentrador'],
       ['c.codigoempresa', 'cotacaoitensfranqueado.codigoempresa'],
       ['c.codigocotacao', 'cotacaoitensfranqueado.codigocotacao'],
    ]);
    $query->where('cotacaoitensfranqueado.codigoconcentrador', (int)$user->codigoconcentrador)
        ->where('cotacaoitensfranqueado.codigoempresa', (int)$codigoempresa)
        ->where('cotacaoitensfranqueado.codigofilial', $user->codigofilial)
        ->where('cotacaoitensfranqueado.codigocotacao', (int)$codigocotacao)
        ->where('c.status', 'A');

    $cotacao = $query->get();

最佳答案

你不需要在 Eloquent 中使用 newQuery()(int):

Cotacaoitensfranqueado::where('codigoconcentrador', auth()->user()->codigoconcentrador)->get();

但如果您真的想使用它,请改用 query(),因为 newQuery() 已被弃用。

关于php - 如何使用 newQuery() 在 Laravel 中为表添加别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48460974/

相关文章:

php - MAMP Pro 2.2 不读取 httpd.conf 更改

php - "Proper"如何在PHP 网站应用程序中设置环境变量?

python - 我无法更改主 Django 项目设置文件

mysql - SUM(IF(COND,EXPR,NULL)) 和 IF(COND, SUM(EXPR),NULL)

mysql - 错误: MySQL client ran out of memory

php - Laravel 上一个和下一个记录

php - 找不到 laravel 列 : 1054 Unknown column 'created_at' in 'order clause'

php - 如何获取div id并在php中的mysql数据操作中使用它

Laravel 查询构建器和表名

php - 用 PHP 生成 CSS,是/否?