PHPackages                             propel/propel-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. propel/propel-laravel

ActiveLibrary[Framework](/categories/framework)

propel/propel-laravel
=====================

Propel integration for Laravel framework.

3214.3k20[8 issues](https://github.com/propelorm/PropelLaravel/issues)PHP

Since Oct 20Pushed 7y ago7 watchersCompare

[ Source](https://github.com/propelorm/PropelLaravel)[ Packagist](https://packagist.org/packages/propel/propel-laravel)[ RSS](/packages/propel-propel-laravel/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (4)Used By (0)

propel-laravel
==============

[](#propel-laravel)

Propel2 integration for Laravel framework. Only 5.x versions supported. 4.x version can be found in repo of [initial developer](https://github.com/allBoo/propel-laravel) of current package.

Usage
-----

[](#usage)

First of all: you need to understand that current package is in heavy development. We try to maintain 1.\* branch as stable and tested as it used by 1M of angry developers, which have guns. Propel2 seems pretty stable, but still in development and currently it require that your installation must have minimum stability is `alpha`. Open your `composer.json`and write after `config` section:

```
"config": {
    "preferred-install": "dist"
},
"minimum-stability": "alpha"

```

Require this package with composer using the following command:

```
composer require propel/propel-laravel

```

After updating composer, add the ServiceProviders to the providers array in `app/config/app.php`

```
Propel\PropelLaravel\PropelIntegrationServiceProvider::class,

```

Next step is copy example config to your `app/config` directory.

```
php ./artisan vendor:publish --provider 'Propel\PropelLaravel\RuntimeServiceProvider'

```

Within provided config: schemas files are located into `database/` folder, models are generated into `app/models`, migrations into `app/database/migrations`

You can now use Propel commands via artisan, for example:

```
php ./artisan propel:model:build

```

etc.

For new users of propel there is command creating sample `schema.xml` file:

```
php ./artisan propel:schema:create

```

If you are trying Propel2 on existing database — you can use [reverse database](http://propelorm.org/documentation/cookbook/working-with-existing-databases.html) command:

```
php ./artisan propel:database:reverse mysql

```

Since version 2.0.0-alpha5 there is awesome config node `exclude_tables` in config, which allows you to mix different project tables in one database.

**Small hint**: you can define namespace of all generated models in schema just as attribute of database:

```

```

Auth
----

[](#auth)

Package contains Auth driver binding which allows to store user info and fetch (`Auth::getUser()`) current logged in user as propel model. You need to change two settings in `config/auth.php`:

```
'driver' => 'propel', // custom auth provider implemented in current package
…
'model' => MyApp\Models\User::class, // classname of user entity

```

After schema creating and model generation you must enhance your model to implement all laravel Auth requirements. Generic user model seems so:

```
use MyApp\Models\Base\User as BaseUser;
use Illuminate\Auth\Authenticatable;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;

class User extends BaseUser implements AuthenticatableContract, CanResetPasswordContract
{
    use Authenticatable, CanResetPassword;

    public function getAuthIdentifier()
    {
        return $this->id;
    }
}

```

Static Configuration
--------------------

[](#static-configuration)

By default it builds configuration from main config `app/config/propel.php` in runtime but you may build static config `app/propel/config.php` by running

```
php ./artisan propel:config:convert

```

Services
--------

[](#services)

No service is provided.

Propel configures and manages itself by using static methods and its own service container, so no service is registered into Application. Actually, the `GeneratorServiceProvider` class injects Propel tasks into artisan tasks list with prefix `propel:``RuntimeServiceProvider` class initializes Propel runtime configuration

Known issues
------------

[](#known-issues)

- Cli command `propel:database:reverse` save reversed schema file to root of project
- There isn't schema file and command for initial user creation, but it's in our [roadmap](https://github.com/SCIF/propel-laravel/issues/4) and will arrive soon

Authors
-------

[](#authors)

[First version written by Alex Kazynsky](https://github.com/allBoo). Now maintained by [Alexander Zhuralvev](https://github.com/SCIF) and [Maxim Soloviev](https://github.com/Big-Shark). Thanks a lot to each [author](https://github.com/propelorm/PropelLaravel/graphs/contributors)! Any bug reports and pull requests are appreciated!

See also
--------

[](#see-also)

[Make Propel models work with Laravel Form::model() without making it an array](https://github.com/stephangroen/propel-laravel)

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity36

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 54.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1620075?v=4)[François Ganachaud](/maintainers/couac)[@couac](https://github.com/couac)

![](https://www.gravatar.com/avatar/974147f78bc18a1b3838b2959678bab84bb15ce12b79ecb638c8444ff05bf3c3?d=identicon)[MArcJ](/maintainers/MArcJ)

---

Top Contributors

[![SCIF](https://avatars.githubusercontent.com/u/671925?v=4)](https://github.com/SCIF "SCIF (30 commits)")[![Big-Shark](https://avatars.githubusercontent.com/u/646054?v=4)](https://github.com/Big-Shark "Big-Shark (19 commits)")[![allBoo](https://avatars.githubusercontent.com/u/9552850?v=4)](https://github.com/allBoo "allBoo (3 commits)")[![d-morozov-parc](https://avatars.githubusercontent.com/u/19403410?v=4)](https://github.com/d-morozov-parc "d-morozov-parc (2 commits)")[![nerdzbot](https://avatars.githubusercontent.com/u/115078354?v=4)](https://github.com/nerdzbot "nerdzbot (1 commits)")

### Embed Badge

![Health badge](/badges/propel-propel-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/propel-propel-laravel/health.svg)](https://phpackages.com/packages/propel-propel-laravel)
```

###  Alternatives

[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

712181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)[laravel/pail

Easily delve into your Laravel application's log files directly from the command line.

91545.3M590](/packages/laravel-pail)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
