UserAssetLink
This commit is contained in:
@@ -11,9 +11,24 @@ class UserAssetLinkController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$userAssetLinks = User::id('a5daeb60-f36c-11ef-a9dc-45dd276e4cd5');
|
||||
$userAssetLinks = UserAssetLink::with(['user', 'asset.devices'])->get();
|
||||
$user = User::where('id', '8898f380-fd9e-11ef-a9dc-45dd276e4cd5')->first();
|
||||
|
||||
$userAssetLinks = UserAssetLink::with(['user', 'asset.devices'])
|
||||
->withCount([
|
||||
'asset as active_devices_count' => function ($query) {
|
||||
$query->whereHas('devices', function ($q) {
|
||||
$q->where('active', 1);
|
||||
});
|
||||
},
|
||||
'asset as inactive_devices_count' => function ($query) {
|
||||
$query->whereHas('devices', function ($q) {
|
||||
$q->where('active', 0);
|
||||
});
|
||||
}
|
||||
])
|
||||
->get();
|
||||
|
||||
|
||||
return response()->json($userAssetLinks);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,8 +36,8 @@ class Asset extends Model
|
||||
];
|
||||
|
||||
public function devices()
|
||||
{
|
||||
return $this->hasMany(Device::class, 'asset_id', 'id');
|
||||
}
|
||||
{
|
||||
return $this->hasMany(Device::class, 'asset_id', 'id');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,7 @@ class Device extends Model
|
||||
'software_id',
|
||||
'external_id',
|
||||
'version',
|
||||
'active',
|
||||
'additional_info',
|
||||
'device_data',
|
||||
];
|
||||
@@ -42,8 +43,8 @@ class Device extends Model
|
||||
];
|
||||
|
||||
public function asset()
|
||||
{
|
||||
return $this->belongsTo(Asset::class, 'asset_id');
|
||||
}
|
||||
{
|
||||
return $this->belongsTo(Asset::class, 'asset_id', 'id');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -9,20 +9,20 @@ class UserAssetLink extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $table = 'user_asset_link';
|
||||
protected $table = 'user_asset_link';
|
||||
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
'asset_id',
|
||||
];
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo(User::class, 'user_id');
|
||||
}
|
||||
|
||||
public function asset()
|
||||
{
|
||||
return $this->belongsTo(Asset::class, 'asset_id');
|
||||
return $this->belongsTo(Asset::class, 'asset_id', 'id');
|
||||
}
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo(User::class, 'user_id', 'id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ return new class extends Migration
|
||||
$table->uuid('software_id')->nullable();
|
||||
$table->uuid('external_id')->nullable();
|
||||
$table->integer('version')->default(1);
|
||||
$table->smallInteger('active')->default(1)->comment('1: Active, 0: Inactive');
|
||||
$table->json('additional_info')->nullable();
|
||||
$table->json('device_data')->nullable();
|
||||
$table->timestamps();
|
||||
|
||||
Reference in New Issue
Block a user