# |
Mar 26th 2019, 20:06 |
ricksaccous |
yeah maybe give that a go, usually that makes columns accessible |
# |
Mar 26th 2019, 20:05 |
itmpls |
could probably do a manual join() i guess too |
# |
Mar 26th 2019, 20:04 |
itmpls |
seems like i may have to |
# |
Mar 26th 2019, 20:04 |
itmpls |
yeah.. mm |
# |
Mar 26th 2019, 20:04 |
itmpls |
i'm trying to avoid a collection |
# |
Mar 26th 2019, 20:04 |
ricksaccous |
if it's a hasmany not sure if you could do that though, the join thing |
# |
Mar 26th 2019, 20:03 |
ricksaccous |
you can do it with collections or you'd have to do a join in order to make the column accessible |
# |
Mar 26th 2019, 20:02 |
itmpls |
how can I apply a sum() select to a 2 level association that gets pulled in through a separate query through cake? 'jobs' hasMany documents and documents hasMany line_items.. $jobsQuery->select(['price_sum' => $jobsQuery->func()->sum('LineItems.price')])->contain(['Documents.LineItems']) -> column doesn't exist. tried a sum() within the contain as well.. |
# |
Mar 26th 2019, 18:21 |
ricksaccous |
works like a charmmm |
# |
Mar 26th 2019, 18:17 |
ricksaccous |
thank you |
# |
Mar 26th 2019, 18:17 |
ricksaccous |
@dereuromark sorry, was the cache |
# |
Mar 26th 2019, 18:16 |
ricksaccous |
let me see that could be it |
# |
Mar 26th 2019, 18:16 |
dereuromark |
cache issue? |
# |
Mar 26th 2019, 18:16 |
ricksaccous |
weird, because i just ran the migrations fresh |
# |
Mar 26th 2019, 18:16 |
dereuromark |
sounds like you either didnt run the migrations correctly, or have some other data integrity issue |
# |
Mar 26th 2019, 18:15 |
ricksaccous |
i mean bin/cake queue but you get what i mean |
# |
Mar 26th 2019, 18:15 |
ricksaccous |
@dereuromark i'm getting trouble after trying bin/queue runworker i get General error: 1364 Field 'workerkey' doesn't have a default value in |
# |
Mar 26th 2019, 17:20 |
devito |
the calculated colum is created, however when i try to add where conditions to the query targeting the calculated column i still get the missing column error. im guess the where func is scanning the schema columns and not the items used in the select. |
# |
Mar 26th 2019, 16:13 |
devito |
thanks. let me tinker with this |
# |
Mar 26th 2019, 16:13 |
devito |
mm i see |
# |
Mar 26th 2019, 16:13 |
neon1024 |
You can also use `->enableAutoFields(true)` I think to get all columns from all tables |
# |
Mar 26th 2019, 16:12 |
neon1024 |
As per the comment given in the example, it’s passing a Table instance into the select() to get all the available fields |
# |
Mar 26th 2019, 16:12 |
devito |
or is that just to get the rest of the fields as well as the calculated field |
# |
Mar 26th 2019, 16:12 |
devito |
do i need to pass in the table obj to the select like it is doing on that last select? |
# |
Mar 26th 2019, 16:11 |
neon1024 |
Although you might need to use HAVING I think :thinking_face: |
# |
Mar 26th 2019, 16:11 |
neon1024 |
Yep |
# |
Mar 26th 2019, 16:11 |
devito |
rightso with this i should now be able to access slug in a where condition righ |
# |
Mar 26th 2019, 16:10 |
neon1024 |
You don’t need to pass in a query object |
# |
Mar 26th 2019, 16:10 |
devito |
right |
# |
Mar 26th 2019, 16:10 |
neon1024 |
Yeah, it’s just sql language agnostic concat |
# |
Mar 26th 2019, 16:10 |
devito |
``` // Only all fields from the articles table including // a calculated slug field. $query = $articlesTable->find(); $query ->select(['slug' => $query->func()->concat(['title' => 'identifier', '-', 'id' => 'identifier'])]) ->select($articlesTable); // Select all fields from articles ``` |
# |
Mar 26th 2019, 16:08 |
devito |
https://book.cakephp.org/3.0/en/orm/query-builder.html#selecting-specific-fields |
# |
Mar 26th 2019, 16:05 |
devito |
sure 1 sec |
# |
Mar 26th 2019, 16:04 |
neon1024 |
Can you link us to the part in the docs? Or share the code here? |
# |
Mar 26th 2019, 16:04 |
neon1024 |
A closure? |
# |
Mar 26th 2019, 16:03 |
devito |
in the docs theres an additional select method that has the table object passed through to it |
# |
Mar 26th 2019, 16:03 |
devito |
yes |
# |
Mar 26th 2019, 16:02 |
neon1024 |
“Creating a column” do you mean a calculated select field? |
# |
Mar 26th 2019, 16:01 |
devito |
i am trying with creating the col in the select than just writing a where clause and i get column doesnt exist |
# |
Mar 26th 2019, 16:00 |
neon1024 |
`$this->Site->nukeFrom($orbit, $toBeSure);` |
# |
Mar 26th 2019, 16:00 |
devito |
eate a calculated column, do i need to pass in the query object to the select function so that the where conditions can have access to that new column? |