incubator
incubator copied to clipboard
Call to undefined method ::update() (Phalcon\Mvc\MongoCollection)
Old issue ? Thought i better open a new one. From 2017: https://github.com/phalcon/incubator/issues/794 has this never been merged|fixed?
Test Script:
var_dump(PHP_VERSION); // string(6) "7.2.19"
var_dump(Phalcon\Version::get()); // string(5) "3.4.2"
// "phalcon/incubator": "3.4.x",
// "phalcon/devtools": "3.4.x",
// "phalcon/ide-stubs": "~3.4.0",
class User extends Phalcon\Mvc\MongoCollection
{
/**
* {@inheritdoc}
*/
public function getSource()
{
return 'user';
}
}
// create one user
$model = new User();
$model->foo = 1;
$model->bar = 2;
var_dump($model->create()); // true
// load first user
/** @var User $model */
$model = $model::findFirst();
echo var_export($model->toArray(), true) . PHP_EOL;
// array (
// '_id' =>
// MongoDB\BSON\ObjectId::__set_state(array(
// 'oid' => '5d24da504438bd006407a6b2',
// )),
// 'foo' => 1,
// 'bar' => 2,
// )
// update user
$model->foo = 5;
var_dump(get_class($model)); // string(4) "User"
var_dump(is_a($model, \Phalcon\Mvc\MongoCollection::class)); // bool(true)
var_dump(is_a($model, \Phalcon\Mvc\Collection::class)); // bool(true)
var_dump(method_exists($model, 'create')); // bool(true)
echo var_export($model->toArray(), true) . PHP_EOL;
// array (
// '_id' =>
// MongoDB\BSON\ObjectId::__set_state(array(
// 'oid' => '5d24da504438bd006407a6b2',
// )),
// 'foo' => 5,
// 'bar' => 2,
// )
var_dump($model->update()); // Fatal error: Uncaught RuntimeException: Call to undefined method ::update() in ...