繁体   English   中英

雄辩的没有laravel selectRow不行

[英]Eloquent without laravel selectRow is not wotking

我在外面用雄辩的laravel。 我已经在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()”

selectRow()中没有selectRow() 应该是selectRaw()

看一下Laravel文档中的Raw Expressions。

https://laravel.com/docs/5.8/queries#raw-expressions

DB :: raw()

您可以使用它->select(\\DB::raw('column_one, column_tow'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM