1. Go to this page and download the library: Download znck/belongs-to-through 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/ */
znck / belongs-to-through example snippets
class Country extends Model
{
public function posts()
{
return $this->hasManyThrough(Post::class, User::class);
}
}
class Post extends Model
{
use \Znck\Eloquent\Traits\BelongsToThrough;
public function country(): \Znck\Eloquent\Relations\BelongsToThrough
{
return $this->belongsToThrough(Country::class, User::class);
}
}
class Comment extends Model
{
use \Znck\Eloquent\Traits\BelongsToThrough;
public function country(): \Znck\Eloquent\Relations\BelongsToThrough
{
return $this->belongsToThrough(Country::class, [User::class, Post::class]);
}
}
class Comment extends Model
{
use \Znck\Eloquent\Traits\BelongsToThrough;
public function country(): \Znck\Eloquent\Relations\BelongsToThrough
{
return $this->belongsToThrough(
Country::class,
[User::class, Post::class],
foreignKeyLookup: [User::class => 'custom_user_id']
);
}
}
class CustomerAddress extends Model
{
use \Znck\Eloquent\Traits\BelongsToThrough;
public function vendorCustomer(): \Znck\Eloquent\Relations\BelongsToThrough
{
return $this->belongsToThrough(
VendorCustomer::class,
VendorCustomerAddress::class,
foreignKeyLookup: [VendorCustomerAddress::class => 'id'],
localKeyLookup: [VendorCustomerAddress::class => 'address_id'],
);
}
}
class Comment extends Model
{
use \Znck\Eloquent\Traits\BelongsToThrough;
public function grandparent(): \Znck\Eloquent\Relations\BelongsToThrough
{
return $this->belongsToThrough(
Comment::class,
Comment::class . ' as alias',
foreignKeyLookup: [Comment::class => 'parent_id']
);
}
}
class Comment extends Model
{
use \Znck\Eloquent\Traits\HasTableAlias;
}
class Comment extends Model
{
use \Znck\Eloquent\Traits\BelongsToThrough;
public function country(): \Znck\Eloquent\Relations\BelongsToThrough
{
return $this->belongsToThrough(Country::class, [User::class, Post::class])
->withTrashed('users.deleted_at');
}
}
class User extends Model
{
use SoftDeletes;
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.