mirror of
https://github.com/barryvdh/laravel-ide-helper.git
synced 2026-08-18 01:57:13 +00:00
Add support in morphTo relationship for null values (1547) (#1549)
Co-authored-by: Barry vd. Heuvel <[email protected]>
This commit is contained in:
co-authored by
Barry vd. Heuvel
parent
672acce5ae
commit
f7a3dc8ff2
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\Morphs\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||
|
||||
class Morphs extends Model
|
||||
{
|
||||
public function relationMorphTo(): MorphTo
|
||||
{
|
||||
return $this->morphTo();
|
||||
}
|
||||
|
||||
public function nullableRelationMorphTo(): MorphTo
|
||||
{
|
||||
return $this->morphTo();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\Morphs;
|
||||
|
||||
use Barryvdh\LaravelIdeHelper\Console\ModelsCommand;
|
||||
use Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\AbstractModelsCommand;
|
||||
|
||||
class Test extends AbstractModelsCommand
|
||||
{
|
||||
public function test(): void
|
||||
{
|
||||
$command = $this->app->make(ModelsCommand::class);
|
||||
|
||||
$tester = $this->runCommand($command, [
|
||||
'--write' => true,
|
||||
]);
|
||||
|
||||
$this->assertSame(0, $tester->getStatusCode());
|
||||
$this->assertStringContainsString('Written new phpDocBlock to', $tester->getDisplay());
|
||||
$this->assertMatchesMockedSnapshot();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\Morphs\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @property string $relation_morph_to_type
|
||||
* @property int $relation_morph_to_id
|
||||
* @property string|null $nullable_relation_morph_to_type
|
||||
* @property int|null $nullable_relation_morph_to_id
|
||||
* @property-read Model|\Eloquent|null $nullableRelationMorphTo
|
||||
* @property-read Model|\Eloquent $relationMorphTo
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Morphs newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Morphs newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Morphs query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Morphs whereNullableRelationMorphToId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Morphs whereNullableRelationMorphToType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Morphs whereRelationMorphToId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|Morphs whereRelationMorphToType($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Morphs extends Model
|
||||
{
|
||||
public function relationMorphTo(): MorphTo
|
||||
{
|
||||
return $this->morphTo();
|
||||
}
|
||||
|
||||
public function nullableRelationMorphTo(): MorphTo
|
||||
{
|
||||
return $this->morphTo();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class MorphsTable extends Migration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('morphs', function (Blueprint $table) {
|
||||
$table->morphs('relation_morph_to');
|
||||
$table->nullableMorphs('nullable_relation_morph_to');
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user