Lumen Model::find() 不在主键上 select

Lumen Model::find() does not select on primary key

我想 select table board 中的一个项目,它的 PK 是 boardId。 但是 Board::find(2)Board::find(1) returns 所有项目,无论给定参数如何。

我有以下 table:

对应流明模型:

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();

Returns:select * from 'board'。所以没有where boardId = ?什么的,就是这个问题。我做错了什么?

我是 运行 PHP 7.2.0 和 Lumen 5.5.2。对其他模型的查询工作正常。

你说过你用 get() 调用它:

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

但是你不应该添加 get() 因为它会 return 所有对象的集合。只需这样做:

return Board::find($boardId);

只需删除 ->get() 方法,这对您有用

希望有用