# |
Jun 29th 2021, 22:42 |
joey.mukherjee |
Thank you!! The last condition of the OR was where I was getting stuck! |
# |
Jun 29th 2021, 22:35 |
ndm |
```->leftJoinWith('GroundWaterTests') ->where([ 'OR' => [ 'TEST_TYPE' => 'WATR', 'GroundWaterTests.id IS NOT' => null, ] ]) ...``` |
# |
Jun 29th 2021, 22:32 |
ndm |
Same query, yes |
# |
Jun 29th 2021, 22:31 |
joey.mukherjee |
Ok... if I do a LEFT join, can I do the OR in the same query? Or do I want to union two queries? |
# |
Jun 29th 2021, 22:27 |
ndm |
You can't, neither is there syntax for it, nor would it work, as `matching()` uses an `INNER` join, so it's always exclusive. You need to use a `LEFT` join instead, and apply your conditions on the main query. |
# |
Jun 29th 2021, 22:26 |
joey.mukherjee |
I saw that, but couldn't figure out how best to add the "matching" portion. |
# |
Jun 29th 2021, 22:21 |
slackebot |
$query->newExpr()->and([$author, $published]) ]); });``` |
# |
Jun 29th 2021, 22:21 |
khalil |
@joey.mukherjee from the docs: ```$query = $articles->find()->where(function (QueryExpression $exp, Query $query) { // Use add() to add multiple conditions for the same field. $author = $query->newExpr()->or(['author_id' => 3])->add(['author_id' => 2]); $published = $query->newExpr()->and(['published' => true, 'view_count' => 10]); return $exp->or([ 'promoted' => true, |
# |
Jun 29th 2021, 22:18 |
slackebot |
kinda confused with the database schema to make this happen, I'm trying to avoid EAV as much as I can, and I was thinking of using a json column type in MySQL, but since i have never used it before, I'm a bit concerned about performance, especially after what I read online that it has poor performance, and eventually I will need to query the attributes in the json field, so any advise regarding this is welcome! |
# |
Jun 29th 2021, 22:18 |
khalil |
Guys, I have a question, not directly related to CakePHP, but more on db schema level, but I kinda need advise in case someone went through this before. On a CakePHP e-commerce website, I'm working on product variations / attributes, Like, we have Size, Color, Make etc..., and the product can have any combination of these with specific prices, for instance, Size Large Red Leather for $10, Size Medium Red Leather $9 etc... and I'm |
# |
Jun 29th 2021, 22:16 |
joey.mukherjee |
How do I do an OR on a query that has a where or a matching. Something like : ->or (where (['TEST_TYPE' => 'WATR']), matching ('GroundWaterTests')) I want either TEST_TYPE is WATR or there is a related row in another table? |
# |
Jun 29th 2021, 22:13 |
khalil |
Hello! congrats on the 4000+ members :) |
# |
Jun 29th 2021, 22:13 |
kevin.pfeifer |
btw: we hit 4000+ members in the slack support channel :partying_face: |
# |
Jun 29th 2021, 22:11 |
slackebot |
testSend(): void { $this->OrderNotification->send(); }``` |
# |
Jun 29th 2021, 22:11 |
slackebot |
json_decode($this->order, TRUE); $products = $order['line_items']; $line_items = $Woocommerce->getLineItems($products); $commission = $Woocommerce->getCommission($line_items); $this->OrderNotification = new OrderNotificationMailer([ 'state_owner_email' => $state_owner->state_owner_email, 'content' => compact('state_owner', 'commission', 'operator', 'order', 'line_items') ]); } public function |
# |
Jun 29th 2021, 22:11 |
tyler.adam.lazenby |
```public function setUp(): void { parent::setUp(); $state_owner = TableRegistry::getTableLocator()->get('StateOwners')->get(1); $operator = TableRegistry::getTableLocator()->get('Operators')->find()->first(); $this->order = file_get_contents(join(DS, [ROOT, 'tests', 'Resource', 'order.json'])); $registry = new ComponentRegistry(); $Woocommerce = new WoocommerceComponent($registry); $order = |
# |
Jun 29th 2021, 22:11 |
tyler.adam.lazenby |
on the test |
# |
Jun 29th 2021, 22:11 |
tyler.adam.lazenby |
kinda funny how much setup I had to do to make sure the email went through |
# |
Jun 29th 2021, 22:11 |
kevin.pfeifer |
instead of the default Cake\Mailer\Renderer you can set a custom view instance |
# |
Jun 29th 2021, 22:10 |
tyler.adam.lazenby |
almost through this |
# |
Jun 29th 2021, 21:28 |
tyler.adam.lazenby |
what does the viewRender property of the mailer do? |
# |
Jun 29th 2021, 20:21 |
kevin.pfeifer |
but if you manually create the mailer object anyways you should be fine |
# |
Jun 29th 2021, 20:21 |
kevin.pfeifer |
But I currently don’t know if you can send reusable emails (like https://book.cakephp.org/4/en/core-libraries/email.html#creating-reusable-emails) via the queue mail task. I have already created an issue for that. |
# |
Jun 29th 2021, 20:16 |
tyler.adam.lazenby |
Working on getting my data first and then going to see if I need to update to alpha... because I need to make sure I have some complex calculations done... by the end of the dasy |
# |
Jun 29th 2021, 20:16 |
tyler.adam.lazenby |
@kevin.pfeifer I know I know... especially with abstraction |
# |
Jun 29th 2021, 20:08 |
dereuromark |
Try the New alpha, I soon release then stable |
# |
Jun 29th 2021, 19:58 |
kevin.pfeifer |
sometimes documentation is not that bad :) |
# |
Jun 29th 2021, 19:57 |
tyler.adam.lazenby |
I was poking around in the source code and wasn't seeing that |
# |
Jun 29th 2021, 19:57 |
tyler.adam.lazenby |
COOL |
# |
Jun 29th 2021, 19:57 |
tyler.adam.lazenby |
oh ok |
# |
Jun 29th 2021, 19:50 |
kevin.pfeifer |
https://github.com/dereuromark/cakephp-queue/tree/master/docs#using-built-in-email-task Here you can see that you can pass on a mailer object when creating the task => therefore yes, HTML mails are possible |
# |
Jun 29th 2021, 19:42 |
tyler.adam.lazenby |
Hey @dereuromark Does your queue plugin default email task support sending HTML emails? |
# |
Jun 29th 2021, 19:18 |
slackebot |
https://stackoverflow.com/questions/68184422/restrict-query-results-on-beforefind-table-call-back-without-breaking-buildrul |
# |
Jun 29th 2021, 19:18 |
jadelbe418 |
I am running into some issues with sorting logic on a beforeFind() getting applied to constraints in the buildRules() when it should not be, on some legacy Cake 3 code I maintain. I was wondering if there is a better approach to implementing this than what I have in place. I wrote my question out with code samples on SO: |
# |
Jun 29th 2021, 16:42 |
umer936 |
Yes, i get it while developing on Windows with PHPStorm. Never figured how to fix so I just run phpcs manually instead |
# |
Jun 29th 2021, 16:04 |
japerlman |
@kevin.pfeifer Thanks for the feedback, I appreciate it. |
# |
Jun 29th 2021, 15:31 |
ndm |
You gotta be careful with the term "request", that could easily be interpreted as "HTTP request", but I guess you're most likely referring to invoking some kind of read operation on a query/result in one and the same HTTP request? An answer to your question probably depends on how you generate the result set, how/where you apply the mapping, if you possibly reassign results, etc... so a code example might help here. |
# |
Jun 29th 2021, 15:25 |
kevin.pfeifer |
@japerlman I would say either way is totally OK, it just depends what you/your customer prefers as a frontend experience and what you as a developer are more used to. |
# |
Jun 29th 2021, 15:23 |
dereuromark |
Well, it is possible the the intoduced warning is a bit too harsh for some use cases, sure |
# |
Jun 29th 2021, 15:22 |
slackebot |
react just because 'it is the modern way'. am I wasting my time and is there anything 'wrong' with just doing it 100% in cakephp like I've done previously? |
# |
Jun 29th 2021, 15:22 |
japerlman |
I have very limited experience in web app dev and want to make sure I'm not approaching things incorrectly. If you were making an app that is just mostly data in/data out forms and reports is there any benefit to doing the backend in cakephp and exposing the api to a react front end? I've done two apps in the past 100% in cakephp 2 and 3 and I'm struggling with all the extra work to do the backend in cakephp and the frontend in |