# |
Sep 6th 2019, 09:57 |
javier.villanueva |
$this->User->EmailAddress->find()->where(['user_id' => $user->id])->first(); |
# |
Sep 6th 2019, 09:56 |
david098 |
dont call $options['user']->id |
# |
Sep 6th 2019, 09:56 |
david098 |
$options['user'] is already the id of the user |
# |
Sep 6th 2019, 09:56 |
jotpe |
@alexdd55976 In my Model a user can Has Many EmailAdresses. Since i need a function at some places in my code to get the most recent Emailaddress of the user and didn't want to the query everytime in a controller. |
# |
Sep 6th 2019, 09:56 |
spriz |
is it Cake\Orm\Table or your actual Table instance? |
# |
Sep 6th 2019, 09:55 |
spriz |
@jotpe what is output `debug($emailTable)`? |
# |
Sep 6th 2019, 09:55 |
david098 |
testing your code showed me that $user->id is not valid in findOwnedBy |
# |
Sep 6th 2019, 09:54 |
jotpe |
@neon1024 I removed the ->first() and tried to replace it with the example from here https://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html#custom-finder-methods both didn't work. Seems that the method cannot be found on that table?! |
# |
Sep 6th 2019, 09:51 |
alexdd55976 |
@jotpe except from your problem... i find the your `$emailTable->find('ownedBy)` somehow very disturbing. especially because its somehow generic (which would be fine) but then in a specific model... why not calling a model method directly with the user_id, which is available anyway? :thinking_face: |
# |
Sep 6th 2019, 09:49 |
javier.villanueva |
and you dont need ->getIdentifier() in call |
# |
Sep 6th 2019, 09:48 |
javier.villanueva |
+1 |
# |
Sep 6th 2019, 09:48 |
javier.villanueva |
yes |
# |
Sep 6th 2019, 09:48 |
neon1024 |
Calling `first()` you’re executing, converting to ResultSet and popping the first Entity |
# |
Sep 6th 2019, 09:48 |
neon1024 |
So that you can chain finders |
# |
Sep 6th 2019, 09:48 |
neon1024 |
A custom finder should return a `Query` instance right? |
# |
Sep 6th 2019, 09:47 |
neon1024 |
@jotpe You’re calling `->first()` |
# |
Sep 6th 2019, 09:46 |
jotpe |
Cleared Cache, but didn't changed anything. $user is the user and $user->getIdentifier() is the userId. I changed this, but it didn't even get into the function... |
# |
Sep 6th 2019, 09:45 |
alexdd55976 |
i upvoted your answer ;) |
# |
Sep 6th 2019, 09:42 |
javier.villanueva |
$emailTable->find('ownedBy', ['user' => $user]); |
# |
Sep 6th 2019, 09:42 |
javier.villanueva |
or |
# |
Sep 6th 2019, 09:42 |
javier.villanueva |
$query->where(['user_id' => $user, 'status' => 'confirmed'] |
# |
Sep 6th 2019, 09:41 |
javier.villanueva |
user is the id? |
# |
Sep 6th 2019, 09:41 |
david098 |
did you cleared the cache? |
# |
Sep 6th 2019, 09:34 |
jotpe |
Anyone has a clue why the custom finder is not working? I sticked to https://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html#custom-finder-methods |
# |
Sep 6th 2019, 09:34 |
slackebot |
<jotpe> |
# |
Sep 6th 2019, 09:31 |
david098 |
Thanks for pushing me in the right direction |
# |
Sep 6th 2019, 09:31 |
david098 |
For the onces who have looked into my issue yesterday, i created a working solution; https://stackoverflow.com/questions/57807225/ |
# |
Sep 6th 2019, 09:12 |
racmiroslav |
thank you for advice |
# |
Sep 6th 2019, 09:04 |
alexdd55976 |
except `number` is the primary key of the table |
# |
Sep 6th 2019, 09:04 |
neon1024 |
@racmiroslav https://github.com/ADmad/cakephp-sequence |
# |
Sep 6th 2019, 09:03 |
alexdd55976 |
yes, you can do that. did that before too |
# |
Sep 6th 2019, 09:02 |
racmiroslav |
@alexdd55976 I mean to save entity with `$this->Documents->save($doc)` |
# |
Sep 6th 2019, 09:01 |
alexdd55976 |
$this->find()->select(['MAX(number)])->where(['scope' => 'stuff']) |
# |
Sep 6th 2019, 09:01 |
racmiroslav |
or… when I run this subquery in beforeSave within transaction, will it satisfy concurrency issues? |
# |
Sep 6th 2019, 08:59 |
racmiroslav |
Hey folks. What are your suggestions to implement number series for table row property? I need to increment value on insert. is it possible with ORM? something like ```$doc = new Document(); $doc->number = $query->newExpr('SELECT MAX(number) FROM Documents WHERE scope = xy')``` |
# |
Sep 6th 2019, 08:59 |
peppejaripappalardo |
thx to @neon1024 and @alexdd55976 i will tru extractOriginalChanged |
# |
Sep 6th 2019, 08:58 |
alexdd55976 |
`$changed = $entity->extractOriginalChanged($entity->visibleProperties());` |
# |
Sep 6th 2019, 08:58 |
peppejaripappalardo |
this is what i do: if ($entity->actor->incident_type_group->description != $entity->actor->incident_type_group->getOriginal(‘description’)) { $modified_fields[] = [‘was’ => $entity->actor->incident_type_group->getOriginal(‘description’), ‘is_now’ => $entity->actor->incident_type_group->description, ‘field_name’ => ‘description’]; } |
# |
Sep 6th 2019, 08:57 |
neon1024 |
As what you’re doing is what this function does for you |
# |
Sep 6th 2019, 08:57 |
neon1024 |
Did you check `$entity->isDirty($propertyName)` |
# |
Sep 6th 2019, 08:57 |
neon1024 |
Perhaps they haven’t changed |