/ / Lumen Модел :: find () не избира на първичен ключ - php, mysql, laravel, красноречив, лумен

Lumen Модел :: find () не избира на първичен ключ - php, mysql, ларавел, красноречив, лумен

Искам да избера елемент от таблицата board от него е PK, което е 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.Запитванията на други модели работят добре.

Отговори:

4 за отговор № 1

Вие казахте, че го наричате get():

return Board::find($boardId)->get();

Но не трябва да добавяте get() защото ще върне колекция от всички обекти. Просто направете това:

return Board::find($boardId);

0 за отговор № 2

Просто изтрийте метода -> get (), който ще работи за вас

Надявам се да е полезно