Log message #4114286

# At Username Text
# Feb 4th 2018, 11:10 kitcat711 help with matching not workinas expected
# Feb 4th 2018, 10:35 turkles Are the results duplicated in any way? Not much to go on there..
# Feb 4th 2018, 07:26 itamer I have two tables in the join array, both get displayed in the sql but it's as if the second join and the order() get stripped off the query.
# Feb 4th 2018, 07:22 itamer I've got a findAuth function so that the login function applies the correct rules. Within that function I have some debugging. If I run the query sql I get 3 results, if I look in the results of toArray() I have about 20 results. Any ideas what might be happening or how to debug? ob_start(); debug($query); debug($query->toArray()); $str = ob_get_contents(); ob_end_clean();
# Feb 4th 2018, 03:56 turkles a class outside of cakephp?
# Feb 4th 2018, 03:52 admad I would suggest moving the fetch and processing logic in separate class.
# Feb 4th 2018, 03:50 turkles at the moment I have a behaviour that handles the data grab in a generic fashion which I can then use in various models. I am struggling more with where I put the logic side, ie. initiate a fetch, process, and save, so that I can use in both a controller and a shell
# Feb 4th 2018, 03:45 admad Checkout muffin/webservice plugin if you want to implement ORM type access to the webservice
# Feb 4th 2018, 03:45 admad @turkles you can ake your own classes under a custom App\Webservice namespace.
# Feb 4th 2018, 02:49 turkles Hi all, where would I keep code which fetches external API data, processes and stores the response in my database? I want to perform this from either a shell or a controller - as in some cases it will be cron driven, and in others a user on my website may request it?
# Feb 4th 2018, 01:55 itamer Either way, the sql that gets shown when I debug isn't the sql that's getting run
# Feb 4th 2018, 01:54 itamer I find contain works well for belongsTo but not hasMany
# Feb 4th 2018, 01:50 ricksaccous table class*
# Feb 4th 2018, 01:50 ricksaccous and then use contain
# Feb 4th 2018, 01:50 ricksaccous i always just define associations in the table model itself
# Feb 4th 2018, 01:50 ricksaccous to be honest i've never used the join method
# Feb 4th 2018, 01:49 itamer aah, no, scratch that, toArray() also shows the wrong data, as if the joins are being ignored at run time even though the sql shows it
# Feb 4th 2018, 01:47 itamer even though I see the sql when I debug $query somehow the records that get returned have the joins stripped off. Does that sound right?
# Feb 4th 2018, 01:46 itamer @ricksaccous, if you're still around. I'm running findAuth to extend the rules on the records that get returned
# Feb 4th 2018, 01:19 ricksaccous I had no idea where to begin debugging, was going to suggest possible foul play in the callback methods
# Feb 4th 2018, 01:19 ricksaccous @itamer nice, glad you got it working
# Feb 4th 2018, 01:18 itamer @ricksaccous somehow I just fixed it, been chasing my tail on this for hours. very frustrating.
# Feb 4th 2018, 01:16 slackebot DESC',
# Feb 4th 2018, 01:16 itamer 'sql' => 'SELECT Individuals.id AS `Individuals__id`, Individuals.email AS `Individuals__email`, Individuals.password AS `Individuals__password` FROM individuals Individuals INNER JOIN memberships Memberships ON Individuals.membership_id = Memberships.id INNER JOIN finances Finances ON Finances.membership_id = :c0 WHERE (Individuals.email = :c1 AND Individuals.status in (:c2,:c3) AND Memberships.softdelete = :c4) ORDER BY Finances.enddate
# Feb 4th 2018, 01:16 itamer but if I get the sql and paste it direct into the database (and tidy up the variables) I get the right data
# Feb 4th 2018, 01:16 itamer that's right
# Feb 4th 2018, 01:14 ricksaccous so you do a debug on $user after this and it's null?
# Feb 4th 2018, 01:13 itamer yep, there are 3 records that match for the email I'm testing with, I want the first one
# Feb 4th 2018, 01:13 ahmed_bodi exactly as i needed it to
# Feb 4th 2018, 01:12 ahmed_bodi the core of the issue was actually using varchar's for the id's due to an auth plugin i had used prior, but removed all the old crap and convertedit all back to int's and now all works great
# Feb 4th 2018, 01:12 ricksaccous @itamer ->first only returns one result.. how are you getting null? what returns null exactly? that code you posted?
# Feb 4th 2018, 01:11 ahmed_bodi i finally got it
# Feb 4th 2018, 01:11 ahmed_bodi @hmic your awesome
# Feb 4th 2018, 00:45 slackebot , 'conditions' => ['Memberships.id' => 'Individuals.membership_id'] ] , 'Finances' => [ 'table' => 'finances' , 'type' => 'INNER' , 'conditions' => ['Finances.membership_id' => 'Memberships.id'] ]]) ->order(['Finances.enddate' => 'DESC']) ->first();
# Feb 4th 2018, 00:45 itamer $user = $this->find() ->select(['Individuals.id', 'Individuals.email', 'Individuals.password', 'Finances.enddate']) ->where([ 'Individuals.email' => $email , 'Individuals.status IN' => ['g','m'] , 'Memberships.softdelete' => 'N' ]) ->join([ 'Memberships' => [ 'table' => 'memberships' , 'type' => 'INNER'
# Feb 4th 2018, 00:45 itamer aargh, I just broke something. I'll past the code below. It's in a table file, if I debug to get the query and run it I get 3 results. but the cake3 query returns null. Any ideas?
# Feb 4th 2018, 00:44 ahmed_bodi :)
# Feb 4th 2018, 00:44 popperz0r thanks
# Feb 4th 2018, 00:44 popperz0r yep! :P
# Feb 4th 2018, 00:43 popperz0r content type json?
# Feb 4th 2018, 00:43 popperz0r https://book.cakephp.org/3.0/en/views/json-and-xml-views.html#creating-json-views