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(), он будет работать для вас

Я надеюсь быть полезным

Другие вопросы по тегам