我是laravel的新手,正在尝试将参数从控制器中的函数传递给模型中的函数。我已经做到了:
我的控制器
class DashBoardController extends BaseController {
public function yesterdayOrderData(){
$from = date('Y-m-d H:i:s', strtotime('today -1 days'));
$to = str_replace("00:00:00", "23:59:59", $from);
$odata = Invoice::yesterdaysorderdetails($from, $to);
}
}
我的模特:
class Invoice extends Eloquent{
protected $table = 'Inf_Invoice';
public function scopeyesterdaysorderdetails($from, $to){
echo $from."--".$to;
}
}
我收到错误消息 "Object of class Illuminate\\Database\\Eloquent\\Builder could not be converted to string"
如何将参数从控制器传递给模型?
范围要求query
实例是第一个参数(它会自动传递给函数):
// you don't need to use camelCase, but it's soooo hard to read this otherwise..
public function scopeYesterdaysOrderDetails($query, $from, $to){
$query->whereBetween('created_at', [$from, $to]);
}
// usage:
$odata = Invoice::yesterdaysOrderDetails($from, $to)->get();
只是关于方法名称的注释-它应遵循一个规则-该scope
部分应大写之后的第一个字母。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句