V8-archive: Unable to use One-to-Many relationship

Created on 19 May 2020  路  3Comments  路  Source: directus/v8-archive

鈥⒙燰ersion of Directus: 8.7.1
鈥⒙燬erver, OS & Database Details: DigitalOcean Defaults (Apache 2.4, Ubuntu 18.04, MySQL 5.7)

Info:
I am unable to use the One-to-Many relationship interface in v8.7.1 that I setup using the DigitalOcean One-click setup. After the instance is setup I ssh'd to the box, ran a git pull origin master, ran a bin/directus db:upgrade -N xxxx, and then logged into the admin panel to ensure I was running 8.7.1. I have tried adding the relationship to a new collection and to an existing collection, both documented below.

Steps to reproduce (New collection setup):

  1. Create a new "tag" collection with id, status, owner, created on, and one field called "title" which is a required text input.
  2. Add three values to the tag collection
  3. Create a new collection with the standard fields and a one-to-many relationship. Use all the one-to-many defaults except:
    set the relationship:
    Screen Shot 2020-05-19 at 3 25 54 PM

set the visible columns to "title" and display template to {{title}}

  1. Try to add a new item to this second collection and you will see this when you click the "select existing" button:
    Screen Shot 2020-05-19 at 4 03 54 PM

when you click the "add new" button you aren't allowed as the text field is disabled:
Screen Shot 2020-05-19 at 3 58 41 PM

Steps to reproduce when adding to an existing collection:

  1. Have the "tag" collection referenced above already created with items
  2. Open an existing collection, add a new one-to-many collection
  3. Set the relationship, set the visible columns and display template.
  4. Add or edit an item in the existing collection
  5. Sometimes you'll actually see the items if you click the "select existing item" and sometimes you won't.
  6. If you actually see the existing items pick one and try to save the item in the collection.
  7. Get a "Failed generating the SQL query"
    Screen Shot 2020-05-19 at 3 30 34 PM
  8. Open the log and see this:
    [2020-05-19 19:40:14] api[startbiking].ERROR: Directus\Database\Exception\InvalidQueryException: Failed generating the SQL query. in /var/directus/src/core/Directus/Database/TableGateway/BaseTableGateway.php:840 Stack trace: 0 /var/directus/vendor/zendframework/zend-db/src/TableGateway/AbstractTableGateway.php(361): Directus\Database\TableGateway\BaseTableGateway->executeUpdate 1 /var/directus/src/core/Directus/Database/TableGateway/BaseTableGateway.php(434): Zend\Db\TableGateway\AbstractTableGateway->updateWith 2 /var/directus/src/core/Directus/Database/TableGateway/RelationalTableGateway.php(501): Directus\Database\TableGateway\BaseTableGateway->updateRecordByArray 3 /var/directus/src/core/Directus/Services/ItemsService.php(364): Directus\Database\TableGateway\RelationalTableGateway->updateRecord 4 /var/directus/src/endpoints/Items.php(121): Directus\Services\ItemsService->update 5 [internal function]: Directus\Api\Routes\Items->update 6 /var/directus/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(40): call_user_func 7 /var/directus/vendor/slim/slim/Slim/Route.php(281): Slim\Handlers\Strategies\RequestResponse->__invoke 8 /var/directus/src/core/Directus/Application/Http/Middleware/AbstractRateLimitMiddleware.php(34): Slim\Route->__invoke 9 [internal function]: Directus\Application\Http\Middleware\AbstractRateLimitMiddleware->__invoke 10 /var/directus/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array 11 [internal function]: Slim\DeferredCallable->__invoke 12 /var/directus/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func 13 /var/directus/src/core/Directus/Application/Http/Middleware/AuthenticationMiddleware.php(124): Slim\Route->Slim\{closure} 14 [internal function]: Directus\Application\Http\Middleware\AuthenticationMiddleware->__invoke 15 /var/directus/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array 16 [internal function]: Slim\DeferredCallable->__invoke 17 /var/directus/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func 18 /var/directus/src/core/Directus/Application/Http/Middleware/TableGatewayMiddleware.php(25): Slim\Route->Slim\{closure} 19 [internal function]: Directus\Application\Http\Middleware\TableGatewayMiddleware->__invoke 20 /var/directus/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array 21 [internal function]: Slim\DeferredCallable->__invoke 22 /var/directus/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func 23 /var/directus/src/core/Directus/Application/Http/Middleware/DatabaseMigrationMiddleware.php(15): Slim\Route->Slim\{closure} 24 [internal function]: Directus\Application\Http\Middleware\DatabaseMigrationMiddleware->__invoke 25 /var/directus/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array 26 [internal function]: Slim\DeferredCallable->__invoke 27 /var/directus/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func 28 /var/directus/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\Route->Slim\{closure} 29 /var/directus/vendor/slim/slim/Slim/Route.php(268): Slim\Route->callMiddlewareStack 30 /var/directus/vendor/slim/slim/Slim/App.php(503): Slim\Route->run 31 /var/directus/src/core/Directus/Application/Http/Middleware/AbstractRateLimitMiddleware.php(34): Slim\App->__invoke 32 [internal function]: Directus\Application\Http\Middleware\AbstractRateLimitMiddleware->__invoke 33 /var/directus/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array 34 [internal function]: Slim\DeferredCallable->__invoke 35 /var/directus/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func 36 /var/directus/vendor/directus/proxy-detection/src/ProxyDetectionMiddleware.php(30): Slim\App->Slim\{closure} 37 /var/directus/src/core/Directus/Application/Http/Middleware/ProxyMiddleware.php(18): RKA\Middleware\ProxyDetectionMiddleware->__invoke 38 [internal function]: Directus\Application\Http\Middleware\ProxyMiddleware->__invoke 39 /var/directus/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array 40 [internal function]: Slim\DeferredCallable->__invoke 41 /var/directus/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func 42 /var/directus/vendor/akrabat/ip-address-middleware/src/IpAddress.php(113): Slim\App->Slim\{closure} 43 [internal function]: RKA\Middleware\IpAddress->__invoke 44 /var/directus/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array 45 [internal function]: Slim\DeferredCallable->__invoke 46 /var/directus/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func 47 /var/directus/src/core/Directus/Application/Http/Middleware/CorsMiddleware.php(71): Slim\App->Slim\{closure} 48 [internal function]: Directus\Application\Http\Middleware\CorsMiddleware->__invoke 49 /var/directus/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array 50 [internal function]: Slim\DeferredCallable->__invoke 51 /var/directus/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func 52 /var/directus/src/core/Directus/Application/Http/Middleware/ResponseCacheMiddleware.php(63): Slim\App->Slim\{closure} 53 [internal function]: Directus\Application\Http\Middleware\ResponseCacheMiddleware->__invoke 54 /var/directus/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array 55 [internal function]: Slim\DeferredCallable->__invoke 56 /var/directus/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func 57 /var/directus/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->Slim\{closure} 58 /var/directus/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack 59 /var/directus/vendor/slim/slim/Slim/App.php(297): Slim\App->process 60 /var/directus/src/core/Directus/Application/Application.php(161): Slim\App->run 61 /var/directus/public/index.php(5): Directus\Application\Application->run [] []
app

Most helpful comment

We're seeing this problem too in v8.7.1. Can't edit translations. We reverted back to v8.6.2.

All 3 comments

We're seeing this problem too in v8.7.1. Can't edit translations. We reverted back to v8.6.2.

I'm seeing this in 8.8.0, too

Experiencing the same issue with v8.8.0, reverting to v8.6.2 solved the problem as @yuhe00 mentioned

Was this page helpful?
0 / 5 - 0 ratings