<?php
namespace App\Common\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Системные записи соответствия прав в системе для контроллера распределения прав
* @ORM\Entity(repositoryClass="App\Common\Repository\SystemRoleRepository")
* @ORM\Table(schema="cdms")
*/
class SystemRole
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* Название системной учётки
* @ORM\Column(type="string", length=25, unique=true)
*/
private $name;
/**
* Права для в формате json
* @ORM\Column(type="text")
*/
private $rules;
/**
* Пользователь, создавший учётку
* @ORM\Column(type="integer", unique = false)
*/
private $userId;
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @param mixed $id
*/
public function setId($id)
{
$this->id = $id;
}
/**
* @return mixed
*/
public function getName()
{
return $this->name;
}
/**
* @param mixed $name
*/
public function setName($name)
{
$this->name = $name;
}
public function getRules()
{
return $this->rules;
}
/**
* @return mixed
*/
public function getRulesArray()
{
//Так как права у нас лежат в json, а нужны в основном в виде массива
if(!empty($this->rules)){
return json_decode($this->rules, true);
}
return $this->rules;
}
/**
* @param mixed $rules
*/
public function setRules($rules)
{
$this->rules = $rules;
}
/**
* @return mixed
*/
public function getUserId()
{
return $this->userId;
}
/**
* @param mixed $userId
*/
public function setUserId($userId)
{
$this->userId = $userId;
}
}
Migration 20202610164832 failed during Execution. Error The class 'App\Common\Entity\SystemRole' was not found in the chain configured namespaces
$jsonUser = [
[
'lastName' => 'Алексей',
'firstName' => 'Виноградов',
'fullName' => 'Алексей Виноградов',
],
[
'lastName' => 'Полина',
'firstName' => 'Котова',
'fullName' => 'Полина Котова',
'ipContract' => [
'number' => '325',
'ammount' => '12345'
]
]
];
$jsonUser = [
[
'lastName' => 'Алексей',
'firstName' => 'Виноградов',
'fullName' => 'Алексей Виноградов',
],
[
'lastName' => 'Полина',
'firstName' => 'Котова',
'fullName' => 'Полина Котова',
'ipContracts' => [
[
'number' => '124'
],
]
]
];
public function getNumber(): ?string
{
return $this->number;
}
public function setNumber(?string $number): self
{
$this->number = $number;
return $this;
}
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $number;
/**
* @ORM\OneToMany(targetEntity="App\Entity\IpContract", mappedBy="users", orphanRemoval=true)
*/
private $ipContracts;
The type of the key "number" must be "int" ("string" given).
$reflectionExtractor = new ReflectionExtractor();
$phpDocExtractor = new PhpDocExtractor();
$propertyTypeExtractor = new PropertyInfoExtractor([$reflectionExtractor], [$phpDocExtractor, $reflectionExtractor], [$phpDocExtractor], [$reflectionExtractor], [$reflectionExtractor]);
$normalizer = new ObjectNormalizer(null, null, null, $propertyTypeExtractor);
$arrayNormalizer = new ArrayDenormalizer();
$encoders = [
'json' => new JsonEncoder()
];
$serializer = new Serializer([$arrayNormalizer, $normalizer], $encoders);
$jsonUser = [
[
'lastName' => 'Алексей',
'firstName' => 'Виноградов',
'fullName' => 'Алексей Виноградов',
],
[
'lastName' => 'Полина',
'firstName' => 'Котова',
'fullName' => 'Полина Котова',
'ipContract' => [
'number' => '325',
'ammount' => '12345'
]
]
];
$jsonUser = json_encode($jsonUser);
$serializeDataUsers = $serializer->deserialize($jsonUser, 'App\Entity\User[]', 'json');
dump($serializeDataUsers);
die;
public function Single($id) {
$post = Blog::where('id_category ', $id)->get(); #Получаем все результаты с данным ID
$data['post'] =$post; #Наш массив результатов в массив $data['post']
return view('blog.view',$data); Передаём всё представление
}
А по поводу скрытия части текста тут надо более детальней, скрыть все что не влезает? или же обрезать до определенного количества символов?