Lumen Model::find() не выбирает по первичному ключу
Я хочу выбрать предмет из таблицы board
это ПК, который boardId
, Тем не менее Board::find(2)
или же Board::find(1)
возвращает все элементы независимо от заданного параметра.
У меня есть следующая таблица:
С соответствующей моделью люмена:
class Board extends CustomModel
{
protected $fillable = [
'userId', 'boardName', 'private'
];
protected $primaryKey = 'boardId';
protected $table = 'board';
}
Пользовательская модель:
abstract class CustomModel extends Model
{
use Authenticatable, Authorizable;
const CREATED_AT = 'createdAt';
const UPDATED_AT = 'updatedAt';
}
Называя это с:
$boardId = 2;
return Board::find($boardId)->get();
Также попробовал:
$boardId = 2;
return Board::find($boardId)->first();
И следующее:
$boardId = 2;
return Board::find($boardId)->toSql();
Возвращает: select * from 'board'
, Так нет where boardId = ?
или что-то, в чем проблема. Что я делаю неправильно?
Я использую PHP 7.2.0 и Lumen 5.5.2. Запросы на другие модели работают нормально.
2 ответа
Решение
Вы сказали, что звоните с get()
:
return Board::find($boardId)->get();
Но вы не должны добавлять get()
потому что он вернет коллекцию всех объектов. Просто сделай это:
return Board::find($boardId);
Просто удалите метод ->get(), он будет работать для вас
Я надеюсь быть полезным