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() 方法,这对您有用
希望有用
我想 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() 方法,这对您有用
希望有用