<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Security\EdiscoveryHoldPolicy;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new EdiscoveryHoldPolicy();
$requestBody->setDisplayName('My legalHold with sources');
$requestBody->setDescription('Created from Graph API');
$requestBody->setContentQuery('KQL content query');
$result = $graphServiceClient->security()->cases()->ediscoveryCases()->byEdiscoveryCaseId('ediscoveryCase-id')->legalHolds()->post($requestBody)->wait();