# |
May 6th 2019, 19:35 |
phantomwatson |
I'm getting this error: ``` TypeError : Argument 1 passed to Cake\TestSuite\Constraint\Response\HeaderSet::__construct() must be an instance of Cake\Http\Response, instance of Zend\Diactoros\Response\RedirectResponse given, called in C:\app\vendor\cakephp\cakephp\src\TestSuite\IntegrationTestTrait.php on line 843 ``` when I run this integration test: ``` public function testDocsRedirect() { $this->get('/api/docs'); |
# |
May 6th 2019, 19:04 |
junker37 |
@ricksaccous thx, I'll read through that |
# |
May 6th 2019, 19:03 |
ricksaccous |
@junker37 https://book.cakephp.org/3.0/en/orm/query-builder.html#advanced-conditions |
# |
May 6th 2019, 19:03 |
ricksaccous |
@junker37 it's possible, maybe try organizing your or conditions in expressions, you also do not have to have two if statements there |
# |
May 6th 2019, 18:57 |
slackebot |
$query->matching('Notes', function ($q) use ($search) { return $q->where(['Notes.data LIKE' => "%{$search}%"]); }); } ``` However, as you can guess, this will only return results if one of the `Leads` fields matches the `search` criteria *AND* the `Notes.data` field matches as well. I would like this to be *OR*, however, I can't seem to find any documentation on if this is possible. |
# |
May 6th 2019, 18:57 |
junker37 |
Hi, I'm trying to implement a query like so: ``` if ($search) { $where['OR'] = [ 'Leads.first_name LIKE' => "%${search}%", 'Leads.last_name LIKE' => "%${search}%", 'Leads.phone LIKE' => "%${search}%", 'Leads.email LIKE' => "%${search}%", 'Leads.source LIKE' => "%${search}%" ]; } $query = $this->find('all') ->contain(['Notes']) ->where($where); if ($search) { |
# |
May 6th 2019, 18:08 |
phantomwatson |
If that's the end of your request and you don't have any particular reason to remove that association later, it might be the simplest solution. |
# |
May 6th 2019, 18:07 |
phantomwatson |
You could try `$tableName->addAssociations(...)`. https://book.cakephp.org/3.0/en/orm/associations.html |
# |
May 6th 2019, 18:07 |
ricksaccous |
but seems a bit dirty |
# |
May 6th 2019, 18:07 |
ricksaccous |
you could rename the alias in one of the models ie RequestingStaff belongsTo RequestingStaffUsers or something |
# |
May 6th 2019, 18:06 |
itmpls |
hm, maybe i could contain the parent and rename it |
# |
May 6th 2019, 18:06 |
itmpls |
i'm trying to somehow avoid that through whatever means possible so it doesn't conflict |
# |
May 6th 2019, 18:05 |
itmpls |
^ |
# |
May 6th 2019, 18:05 |
phantomwatson |
I'm trying to set up an API and a main site on the same codebase, with an `api.*` subdomain and `v1`, `v2`, etc. prefixes for API versions. Guess I'll just write `->setHost()` a million times for the sake of preventing folks from trying to access the API without the subdomain. |
# |
May 6th 2019, 18:04 |
ricksaccous |
or leftJoinWith('SomeOtherAssociation'); |
# |
May 6th 2019, 18:04 |
itmpls |
i'm trying to avoid a naming conflict. ->contain(['RequestingStaff.Users', 'OtherTable.Users |
# |
May 6th 2019, 18:04 |
ricksaccous |
@itmpls you can automatically join on predefined ones with methods like innerJoinWith('PredefinedAssociation'); |
# |
May 6th 2019, 18:03 |
ricksaccous |
@phantomwatson it seems like you can't do that... it seems only prefixes are a thing, i guess cakephp wasn't set up for multi-site i wonder if you could cook up a middleware to help out or something |
# |
May 6th 2019, 18:03 |
phantomwatson |
I don't really understand what you're going for. As a strategy for updating an associated table when you save? |
# |
May 6th 2019, 18:01 |
itmpls |
to be used by the ORM, not manual like a ->join() |
# |
May 6th 2019, 18:01 |
itmpls |
like a dynamic one, not one within the model? |
# |
May 6th 2019, 18:01 |
itmpls |
$query = $table->find()->setAssociation() or something? |
# |
May 6th 2019, 18:00 |
phantomwatson |
@itmpls, do you mean this? https://book.cakephp.org/3.0/en/orm/saving-data.html#saving-additional-data-to-the-join-table |
# |
May 6th 2019, 17:59 |
phantomwatson |
Yeah, that's what I'm trying to figure out how to do. |
# |
May 6th 2019, 17:59 |
itmpls |
within the query itself |
# |
May 6th 2019, 17:59 |
itmpls |
where's the docs on setting a manual association? |
# |
May 6th 2019, 17:59 |
ricksaccous |
@phantomwatson is that not something you can scope? |
# |
May 6th 2019, 17:47 |
phantomwatson |
@ondrej.nedvidek, what are you specifically trying to achieve? |
# |
May 6th 2019, 17:45 |
phantomwatson |
Is there any more efficient way to set a _bunch_ of route rules to only apply to a specific subdomain than just adding `->setHost('foo.example.com')` to every rule? I thought there was something like `Router::prefix()` that you could wrap around rules to apply a `_host` constraint to each contained route, but I'm not finding that. |
# |
May 6th 2019, 15:42 |
slackebot |
with `attributes.type=color` condition but this won't affect saving. In ideal world when I use `ColorsTable` and `Color` entity I should not have to care about `attributes.type` param at all, if you got my point. Any idea ? |
# |
May 6th 2019, 15:42 |
ondrej.nedvidek |
Hi there, I would like to have table called eg `attributes` which should contain some of shop `product` attributes. Ideally I would like to create `ColorsTable`, `SizesTable` along with its entities for this which both would point to same database table `attributes` and difference would be in param `attributes.type` which will have `color`, `size` respectively. Find should be relatively ease to achieve by modifing `findAll()` method |
# |
May 6th 2019, 15:14 |
ricksaccous |
innerJoinWith maybe |
# |
May 6th 2019, 15:14 |
ricksaccous |
leftJoinWith |
# |
May 6th 2019, 15:08 |
itmpls |
i have various tables (up to 3 levels) in a select.. i want to concat one of them. is there a way I can avoid specifying every single table if I do a concat? |
# |
May 6th 2019, 14:29 |
cburch |
Sorry, CakePHP 3.7, Auth plugin 1.1 |
# |
May 6th 2019, 14:27 |
conehead |
@cburch Are you on cake1? |
# |
May 6th 2019, 14:26 |
cburch |
Hello, does anyone have/know of examples using the CakePHP Authentication plugin with LDAP, I am having a hard time correctly defining the bindDN key when trying to load the LDAP Identifier https://book.cakephp.org/authentication/1.1/en/identifiers.html#ldap Thanks for any help! |
# |
May 6th 2019, 14:25 |
shupel16 |
Hey guys. Its been a very exciting ride with cakephp I love it |
# |
May 6th 2019, 12:40 |
slackebot |
'Service.2' ) ) ``` I realy don't know why the `prefix` key is not in `Service` array.... Any ideas? |
# |
May 6th 2019, 12:40 |
matus.gasper |
Hi guys, i need help with virtual fields in CakePHP v2 This is my code: ``` $service = new Service(); $service->virtualFields = [ 'prefix' => 'CONCAT("Service.", Service.id)' ]; $services = $service->find('first', [ 'fields' => ['Service.prefix', 'Service.name'], 'recursive' => -1 ]); ``` And this is result: ``` array( 'Service' => array( 'name' => 'PBX Basic' ), (int) 0 => array( 'Service__prefix' => |
# |
May 6th 2019, 12:29 |
voycey |
Yeah we have done that - i think the way we wrote some tests was a bit dumb as it basically "linked" a load of records together |