8000 [12.x] Adds `EagerLoad` attribute and `initializeOnQueue` hook by timacdonald · Pull Request #55590 · laravel/framework · GitHub
[go: up one dir, main page]

Skip to content

[12.x] Adds EagerLoad attribute and initializeOnQueue hook #55590

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 19 commits into
base: 12.x
Choose a base branch
from
Draft
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add boot on queue tests
  • Loading branch information
timacdonald committed Apr 29, 2025
commit a89a86169c1b8d91ac1e53f4c9ce42f4b5e96abe
32 changes: 31 additions & 1 deletion tests/Integration/Queue/ModelSerializationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,21 @@ public function test_it_can_mix_both_without_relations_and_load_relationships()

public function test_it_can_use_generic_boot_method()
{
$this->markTestIncomplete('TODO');
$order = Order::create();

$serialized = serialize(new ModelSerializationWithBootOnQueueHook($order));

$queries = [];
DB::listen(function (QueryExecuted $query) use (&$queries) {
$queries[] = $query;
});

/** @var ModelSerializationWithoutRelationsLoadRelationships $unserialized */
$unserialized = unserialize($serialized);

$this->assertCount(2, $queries);
$this->assertTrue($unserialized->property->relationLoaded('lines'));
$this->assertTrue(! $unserialized->property->relationLoaded('products'));
}
}

Expand Down Expand Up @@ -678,6 +692,22 @@ public function __construct(
}
}

class ModelSerializationWithBootOnQueueHook
{
use SerializesModels;

public function __construct(
public $property,
) {
//
}

protected function bootOnQueue()
{
$this->property->load('lines');
}
}

class ModelRelationSerializationTestClass
{
use SerializesModels;
Expand Down
Loading
0