tusimo/laravel-reverse-relation

a one to one and one to many reverse relation for laravel
4,755 1
Install
composer require tusimo/laravel-reverse-relation
Latest Version:v1.0
License:MIT
Last Updated:Mar 23, 2018
Links: GitHub  ·  Packagist
Maintainer: tusimo

LaravelReverseRelation

Reverse relation for laravel eloquent. We define one to one and one to many relations. We often want to get the reverse relation which means we should query from database. And this is unnecessary.Because we maybe already get the data.

安装

  1. 修改composer.json
{
    "require":
    {
        "tusimo/laravel-reverse-relation": "^0.1"
    }
}
  1. 修改config/app.php
<?php
return [
    'providers' => [
        /*
         * Package Service Providers...
         */
        \Tusimo\ReverseRelation\ReverseRelationProvider::class,
    ]
];

使用

before:

class User extends Model {
    use \Tusimo\ReverseRelation\Traits\ReverseRelation;

    public function books ()
    {
        return $this->hasMany(Book::class);
    }
}

class Book extends Model {
    public function user ()
    {
        return $this->>belongsTo(User::class);
    }
}
$books = User::with('books')->first();
dd($books->first()->user);//we maybe use like this way.this will be a sql query for db.

after:

class User extends Model {
    use \Tusimo\ReverseRelation\Traits\ReverseRelation;

    public function books ()
    {
        return $this->hasMany(Book::class)->withReverse('user');
    }
}

class Book extends Model {
    public function user ()
    {
        return $this->>belongsTo(User::class);
    }
}
$books = User::with('books')->first();
dd($books->first()->user);//this time there will be no sql for db because we have already know.

support

also support for tusimo/embed-relation which is a new relation for laravel.

Related Packages

mpsaravanan/mongodb

A MongoDB based Eloquent model and Query builder for Laravel (Moloquent)

9 0
zara-4/laravel-lazy-mysql

A lazy mysql based Eloquent model and Query builder for Laravel

7,985 10
dsturrock/cassandra

Cassandra Eloquent model and Query builder for Laravel

8 1
jenssegers/mongodb-lite

A lightweight MongoDB database library and model for Laravel 4

1,032 11

Version History

Version Released Laravel License
v1.0 ^5.4 MIT
v0.1.2 ^5.4 MIT
v0.1.1 ^5.4 MIT
v0.1 ^5.4 MIT