Запрос, возвращающий 0 вместо данных

#mysql #database #lumen

#mysql #База данных #lumen

Вопрос:

Я работаю в Lumen. Я пытаюсь извлечь данные из базы данных.

Это запрос:

 $subcategories = SubCategory::all();
return $subcategories;
  

Вывод

[{ «coid»: 0, «image»: null, «name»: «PULSES», «subcatid»: «C001» }]

Но coid должен быть CI001

Когда я ищу данные, используя coid, например

 $sub = SubCategory::where('coid', 'C001')->first();
  

ВЫВОД

[{ «coid»: 0, «image»: null, «name»: «PULSES», «subcatid»: «C001» }]

Структура coid

 $table->string('coid')->primary();
  

Varchar(119)

почему это происходит и как это исправить?

Комментарии:

1. если coid равен primary , то он не должен быть равен 0.

2. Данные верны в базе данных, но получают 0 при получении с помощью запроса

Ответ №1:

когда вы устанавливаете другой col в значение primary в lumen, он автоматически увеличивается по умолчанию! Для его решения используйте это в своей модели подкатегории :

 public $incrementing = false;
  

Примечание: Вы можете установить coid в качестве первичного ключа в модели подкатегории следующим образом:

 protected $primaryKey = 'coid ';
  

А затем используйте метод find, чтобы найти его:

 SubCategory::find('C001);