я работаю над банковским приложением, в моей модели Laravel у меня есть таблица с именем транзакций.
В этой таблице есть столбец с именами to_id и from_id, который является идентификатором пользователя, отправляющего деньги.(from_id) и идентификатор того, кто получает деньги (to_id), который связан с моей таблицей пользователей,
здесь - код миграции CreateTransactionsTable
Schema::create('transactions', function (Blueprint $table) {
$table->bigIncrements('id');
$table->bigInteger('from_id')->unsigned();
$table->foreign('from_id')->references('id')->on('users');
$table->bigInteger('to_id')->unsigned();
$table->foreign('to_id')->references('id')->on('users');
$table->integer('Amount');
$table->enum('TransactionType', ['Credit', 'Debit']);
$table->enum('Status', ['Completed', 'Incomplete']);
$table->timestamps();
});
- это файл миграции CreateUserTableкод
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->string('AccountNumber')->unique();
$table->rememberToken();
});
Вот код для модели транзакций
class Transactions extends Model{
public function users(){
return $this->belongsTo('App\Users');
}
}
Вот код для модели пользователей
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable{
use Notifiable;
protected $fillable = [
'name', 'email', 'password', 'Amount',
];
public function transactions(){
return $this->hasMany('App\Transactions');
}
}
вот мой код контроллера
public function Transactions(){
$Trans = Transactions::all();
return view('Admin.TranAdmin')->with(['title'=>'Transaction History ', 'Trans'=>$Trans]);
}
вот мой код TranAdmin.blade.php
<?php $no = 1; ?>
@foreach ($Trans as $Tran)
<tr>
<td>{{ $no++ }}</td>
<td>{{ $Tran->to_id }}</td>
<td>{{ $Tran->from_id->name }}</td>
<td>{{ $Tran->status }}</td>
<td>{{ $Tran->created_at->format('F jS, Y')}}</td>
<td></td>
</tr>
@endforeach
Теперь моя проблема в том, что я не могу получить имя человека, который отправил $Tran->from_id
и получил $Tran->to_id
денег
получаю эту ошибку
Попытка получить свойство необъекта (представление: C: \ xampp \ htdocs \ laravel Projects \ bank \ iscbank \ resources \ views \ Admin \TranAdmin.blade.php) (представление: C: \ xampp \ htdocs \ laravel Projects \ bank \ iscbank \ resources \ views \ Admin \ TranAdmin.blade.php)
Я проверил онлайн, но увидел, что должен был сделать $Tran->User->name
, но так как у меня есть два столбца, которые связаны с таблицей пользователейкак я могу это сделать