簡體   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