Я использую Slim 3 с Eloquent в качестве ORM.У меня есть таблица товаров, которая содержит только 3 поля: productCode, name и price.У меня проблемы с получением атрибута моих продуктов.
Я создал класс модели для продуктов, это:
class Product extends Model
{
protected $primaryKey = 'productCode';
public $timestamps = false;
protected $fillable = [
'name',
'price'
];
}
Esta la estoy utilizando desde mi controlador para enviarloscomo Json, de la siguiente forma:
class ProductsController extends Controller
{
public function getAll($request, $response)
{
$products = Product::all();
return $response->withJson($products, 200);
}
}
Проблема в том, что он возвращает следующее:
[{"productCode":0,"name":"producto 1","price":15000},{"productCode":0,"name":"producto 2","price":20000},{"productCode":0,"name":"producto 3","price":5999}]
все переменные productCode изменяются вакуумом, поэтому json возвращает 0.
при просмотре переменной с помощью print_r () она правильно содержит productCode, но мне не удалось получить эти значения, она всегда возвращает пустое значение.
Store\Models\Product Object
(
[primaryKey:protected] => productCode
[timestamps] =>
[fillable:protected] => Array
(
[0] => name
[1] => price
)
[connection:protected] => default
[table:protected] =>
[keyType:protected] => int
[incrementing] => 1
[with:protected] => Array
(
)
[withCount:protected] => Array
(
)
[perPage:protected] => 15
[exists] => 1
[wasRecentlyCreated] =>
[attributes:protected] => Array
(
[productCode] => cod0001
[name] => producto 1
[price] => 15000
)
[original:protected] => Array
(
[productCode] => cod0001
[name] => producto 1
[price] => 15000
)
[changes:protected] => Array
(
)
[casts:protected] => Array
(
)
[dates:protected] => Array
(
)
[dateFormat:protected] =>
[appends:protected] => Array
(
)
[dispatchesEvents:protected] => Array
(
)
[observables:protected] => Array
(
)
[relations:protected] => Array
(
)
[touches:protected] => Array
(
)
[hidden:protected] => Array
(
)
[visible:protected] => Array
(
)
[guarded:protected] => Array
(
[0] => *
)
)
Как вы можете видеть, если переменная содержит правильный productCode, проблема в том, что они остаются пустыми, когда я пытаюсь их получить.