猿问

没有 Laravel selectRow 的雄辩不是 wotking

我在 Laravel 之外使用了 eloquent。我已经在 compposer.json 中安装了illuminate/database。现在我创建了一个扩展 Illuminate\Database\Eloquent\Model 类的类。现在我想使用 DB::row(),但出现错误


这是我的代码:


模型.php


namespace Framework;


use Helpers\Helper;

use Illuminate\Database\Capsule\Manager as Capsule;

use Illuminate\Database\Eloquent\Model as BaseModel;


class Model extends BaseModel {

    public $Error = null;

    public $Connection = null;

    public $qry_builder = null;

    public $version;

    public $table_name;


    function __construct() {

        try{

            parent::__construct();

            $capsule = new Capsule;

            $capsule->addConnection([

                'driver'    => DB_DRIVER,

                'host'      => DB_HOST,

                'database'  => DB_NAME,

                'username'  => DB_USER,

                'password'  => DB_PSSWD,

                'charset'   => 'utf8'

            ]);

            $capsule->setAsGlobal();

            $capsule->bootEloquent();

        }  catch (\Exception $ex){

            Helper::log()->log(LogLevel::ERROR, "Unable to connect DB", ["DB_NAME"=> DB_NAME,"HOST"=>DB_HOST,"DB_USER"=>DB_USER,"DB_PASSWORD"=>DB_PSSWD]);

        }

    }

}

BankMinMaxModel.php

namespace  Models;

use \Framework\Model;

use Helpers\Helper;

class BankMinMaxModel extends Model {

    protected $table = "tbl_pl_bank_min_max_new";

    protected $primaryKey = 'id';

    // protected $fillable = [];

    public $timestamps = false; 

    protected $guarded = [];

    public function get($where){

        $data = null;

        echo $data = self::orderBy("id", "DESC")->where($where)->selectRow("MIN(NULLIF(min_turnover,0)) as min_turnover")->toSql();

        exit;

        if($data){

            $data = $data->toArray();

        }

        return $data;

    }

}

控制器 :


$loanMinMaxValues = (new BankMinMaxModel)->get([["occup_id", "=", 3]]);

错误


“调用未定义的方法 Illuminate\Database\Eloquent\Builder::selectRow()”


郎朗坤
浏览 183回答 1
1回答

至尊宝的传说

selectRow()在 Laravel 中不存在。应该是selectRaw()。查看 Laravel 文档中的原始表达式。https://laravel.com/docs/5.8/queries#raw-expressions数据库::原始()你可以像这样使用它 ->select(\DB::raw('column_one, column_tow'))
随时随地看视频慕课网APP
我要回答