我在 Laravel 之外使用了 eloquent。我已经在 compposer.json 中安装了illuminate/database。现在我创建了一个扩展 Illuminate\Database\Eloquent\Model 类的类。现在我想使用 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 关注
- 182 浏览
添加回答
举报
0/150
提交
取消