Я использую Eloquent, чтобы получить цену моего продукта в базе данных. Вот мой код:Laravel Eloquent Неопределенное смещение: 0
$this->record = DB::select('select * from get_price(?);', array($product_name));
$this->price = $this->record[0]->price;
Я уверен, что получите одну цену с этим запросом. Но когда я исполню мой код я получаю следующее сообщение об ошибке:
Undefined offset: 0 in line 2
PHP не найти $ this-> запись [0]. Таким образом, я решил использовать следующий код:
$this->record = DB::select('select * from get_price(?);', array($product_name));
var_dump(isset($this->record[0]));
foreach ($this->record as $key => $value) {
var_dump($key);
var_dump($value);
var_dump($value->price);exit();
}
$this->price = $this->record[0]->price;
И я получаю:
// var_dump(isset($this->record[0]));
bool(true)
// var_dump($key);
int(0)
// var_dump($value);
class stdClass#2059 (2) {
public $price =>
string(2) "1"
public $currency =>
string(3) "USD"
}
// var_dump($value->price);exit();
string(2) "1"
Я не знаю, почему я не могу получить доступ к $ this-> запись [0] но в foreach $ this-> запись массив Я могу получить доступ к индексу .
Я использую Laravel 4.2.
Что это 'get_price()' делать в своем заявлении? – Iamzozo
Это функция Postgres. Он возвращает цену и валюту продукта. Как вы можете видеть в var_dump ($ value), в этом примере он возвращает 1 в цене и USD в валюте. – jedema