1. Go to this page and download the library: Download telkins/laravel-dag-manager library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
telkins / laravel-dag-manager example snippets
$newEdges = dag()->createEdge($startVertex, $endVertex, $source);
// $newEdges contains all new edges, including the specified direct edge, that were created as a result of the request.
$deleted = dag()->deleteEdge($startVertex, $endVertex, $source);
// $deleted is true if any edges were deleted as a result of the request, false otherwise.
return [
/**
*-------------------------------------------------------------------------
* Max Hops
*-------------------------------------------------------------------------
*
* This value represents the maximum number of hops that are allowed where
* hops "[i]ndicates how many vertex hops are necessary for the path; it is
* zero for direct edges".
*
* The more hops that are allowed (and used), then the more DAG edges will
* be created. This will have an increasing impact on performance, space,
* and memory. Whether or not it's negligible, noticeable, or impactful
* depends on a variety of factors.
*/
'max_hops' => 5,
/**
*-------------------------------------------------------------------------
* Default Database Connection Name
*-------------------------------------------------------------------------
*
* This is the name of the database connection where the dag table
* can be found.
*
* Set to `null` to use the default connection.
*/
'default_database_connection_name' => null,
/**
*-------------------------------------------------------------------------
* Table Name
*-------------------------------------------------------------------------
*
* This is the name of the table where the dag structure
* will be stored.
*/
'table_name' => 'dag_edges',
];
use Illuminate\Database\Eloquent\Model;
use Telkins\Models\Traits\IsDagManaged;
class MyModel extends Model
{
use IsDagManaged;
// ...
}