Я создал помощник по базе данных, чтобы уменьшить мой код в инфраструктуре laravel, и подключился к двум базам данных, но когда я использую функцию в своем помощнике, я получаю сообщение об ошибке «Попытка получить свойство не-объекта», это мой код помощника:
/**
* This function Used for get Data For Specific Element.
*/
public static function getDataById($dbName,$tableName,$condition,$data)
{
$stattment=
DB::connection($dbName)
->table($tableName)
->select(['*'])
->where($condition, $data)
->first();
return $stattment;
}
это моя функция контроллера
public function all()
{
$dataView['x']=dBHelper::allData('mysql',
'products',
'`status`=? AND `deleted`=?'
,array(1,1));
if(is_object($dataView['x']))
{
foreach ($dataView['x'] as $key=>$value):
$dataView['lang'][$key]=dBHelper::getDataById(
'mysql2',
'products',
'id_product',
$value->id);
//var_dump($dataView['lang'][$key]);
endforeach;
}
return view('productss.all',$dataView);
}
это мой взгляд
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
</h1>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-lg-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title ">Show Products</h3>
</div>
<!-- /.box-header -->
<div class="adminform">
<!-- form start -->
<table id="all_data" class="table table_for_data table-striped table-bordered dt-responsive nowrap tableData" cellspacing="0" width="100%">
<thead>
<tr>
<th>Id</th>
<th>User Name</th>
</tr>
</thead>
<tbody>
@if(isset($x)&&is_object($x))
@foreach($x as $key=>$value)
<tr>
<td>{{$value->id}}</td>
<td>{{$lang[$key]->name}}</td>
</tr>
@endforeach
@else
<td>no data found</td>
@endif
</tbody>
</table>
</div>
</div>
<!-- /.box -->
</div>
</div>
</section><!-- /.content -->
</div><!-- /.content-wrapper -->
Я получаю сообщение об ошибке при печати
<td>{{$lang[$key]->name}}</td>
спасибо.