我在 Laravel 之外使用了 eloquent。我已經在 compposer.json 中安裝了illuminate/database?,F在我創建了一個擴展 Illuminate\Database\Eloquent\Model 類的類?,F在我想使用 DB::row(),但出現錯誤這是我的代碼:模型.phpnamespace 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.phpnamespace 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()”
1 回答
至尊寶的傳說
TA貢獻1789條經驗 獲得超10個贊
selectRow()在 Laravel 中不存在。應該是selectRaw()。
查看 Laravel 文檔中的原始表達式。
https://laravel.com/docs/5.8/queries#raw-expressions
數據庫::原始()
你可以像這樣使用它 ->select(\DB::raw('column_one, column_tow'))
- 1 回答
- 0 關注
- 243 瀏覽
添加回答
舉報
0/150
提交
取消
