Avoid Notice (8): Undefined index: null [APP/Vendor/cakephp/cakephp/lib/Cake/Model/Datasource/DboSource.php, line 2180]
also discussed here: 22b0275#diff-b8a4043bec5d20830b77d240ae8fdef5R2087
fix for previous instance if same bug already merged here: cakephp#12411
(sorry for overlooking this second use-case :( )
Replaced assignment of $key and $dir through list() with each() with simply key() and current() per tenkoma's suggestion. Resolves # 11827
each() advances the pointer similar to next() but is being negated this particular case by array_shift() which resets the pointer
Use the declared `_result` property instead. I would normally add
a test, but getting to this path requires a query to fail which is not
simple to simulate in the test harness.
Fixes#11615
When doing pagination you could get offset not as a int(eg. 10) but string(eg. "10") and it will not paginate at all.
For example DataTables plugin pass offset from params and all params from http request are strings wrapped in numbers.
Adding ctype_digit($offset) will also check the case.
## did
- void unReturn
- miss return void
- add return type
- type miss typing
- add param type and return type
- string → string|array
- change ClassName
This is backported from CakePHP 3. The SQL Server PHP PDO driver does not
support the PDO::ATTR_PERSISTENT attribute. So throw an exception if the
'persistent' option is set in the database config. Also removes that
option from the Sqlserver base config.
Use the schema reflection query from 3.x to provide access to the serial
column attributes. These attributes give a more reliable way to access
primary key data than comparing the primary key of the model. The old
approach failed when schema was generated and concrete model's were
missing.
Refs #10356